Autore Topic: Invio mail con intent  (Letto 339 volte)

Offline ValerioAdo

  • Utente normale
  • ***
  • Post: 323
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ascend g525
  • Sistema operativo:
    windows 8.1
Invio mail con intent
« il: 05 Novembre 2014, 17:08:47 CET »
0
Salve a tutti!

Io vorrei , data una variabile in cui ho inserito il testo di alcune EditText, inviare un mail ed ho scritto questo codice:

Codice (Java): [Seleziona]
package com.example.blablapp;

import java.nio.charset.Charset;

import android.app.Activity;
import android.content.Intent;
import android.text.Editable;
import android.view.View;
import android.view.View.OnClickListener;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.ImageButton;

public class prenotazione extends Activity {
       
        protected void onCreate(Bundle savedInstanceState)
    {
                  super.onCreate(savedInstanceState);
              setContentView(R.layout.prenotazione);
   
       
         EditText data = (EditText) findViewById(R.id.editText1);
     EditText nome = (EditText) findViewById(R.id.editText2);
     EditText telefono = (EditText) findViewById(R.id.editText3);
     EditText numero = (EditText) findViewById(R.id.editText4);
     ImageButton invio=(ImageButton)findViewById(R.id.invio);

     String mail=nome.toString()+data.toString()+telefono.toString()+numero.toString();
     
     
    invio.setOnClickListener(new OnClickListener() {
         
                @Override
                public void onClick(View v) {
                        // TODO Auto-generated method stub
                       
                        final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
                        emailIntent.setType("plain/text");
                        emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{"valerioado@live.it"});
                        emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Prenotazione");
                        emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, );
                       
                        startActivity(Intent.createChooser(emailIntent, "Invia email..."));;
                }

        });
   
    }

}

solo che ora mi ritrovo "bloccato" nell'ultimo emailIntent.putExtra.... come faccio a passargli la mia variabile "mail"?
so che è una domanda stupida ma mi sono perso in un bicchiere d'acqua

Offline Damien

  • Utente junior
  • **
  • Post: 63
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Lenovo ZUK Z1
  • Sistema operativo:
    Windows 10
Re:Invio mail con intent
« Risposta #1 il: 06 Novembre 2014, 21:25:53 CET »
0
finora mi sembra tutto giusto ma devi mettere lo startActivity in un try-catch:

Codice: [Seleziona]
try {
                                startActivity(Intent.createChooser(emailIntent, "Invia email..."));
                        } catch (android.content.ActivityNotFoundException ex) {
                                Toast.makeText(prenotazione.this, "There are no email clients installed.", Toast.LENGTH_SHORT).show();
                        }

Spero di avere capito il tuo problema :)
Se ti sono stato d'aiuto premi il tasto THANKS :)

Offline Paul.

  • Nuovo arrivato
  • *
  • Post: 2
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Pol Apps
  • Sistema operativo:
    Windows 7 / 8.1
Re:Invio mail con intent
« Risposta #2 il: 16 Novembre 2014, 22:44:49 CET »
0
Ciao,
spero di aver capito bene la tua domanda.

dovresti passare la tua variabile stringa mail:
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, mail);
per farlo devi settare la variabile come final:
final String mail=nome.toString()+data.toString()+telefono.toString()+numero.toString();