Autore Topic: Intent che richiama la posta elettronica  (Letto 291 volte)

Offline moskino11

  • Utente normale
  • ***
  • Post: 179
  • Respect: 0
    • Mostra profilo
Intent che richiama la posta elettronica
« il: 30 Maggio 2015, 19:45:35 CEST »
0
Salve io ho creato un menu all'interno della mia applicazione e volevo chiedervi come devo fare per richiamare direttamente l'app relativa all'invio della mail.
 io ho creato questo metodo:

Codice (Java): [Seleziona]
protected void sendEmail() {
        Log.i("Send email", "");

        String[] TO = {"xxxxx@gmail.com"};
        Intent emailIntent = new Intent(Intent.ACTION_SEND);
        emailIntent.setData(Uri.parse("mailto:"));
        emailIntent.setType("text/plain");


        emailIntent.putExtra(Intent.EXTRA_EMAIL, TO);

        emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Your subject");
        emailIntent.putExtra(Intent.EXTRA_TEXT, "Email message goes here");

        try {
            startActivity(Intent.createChooser(emailIntent, "Send mail..."));
            finish();
            Log.i("Finished sending email...", "");
        } catch (android.content.ActivityNotFoundException ex) {
            Toast.makeText(MainActivity.this,
                    "There is no email client installed.", Toast.LENGTH_SHORT).show();
        }
    }
però in questo modo mi compare una lista di app compatibili e sono io che scelgo l'app relativa alla posta. Invece volevo fare in modo che premendo il bottone del menu mi comparisse direttamente la finestra per poter scrivere il messaggio. Si può fare?

Offline LonelyWolf

  • Utente junior
  • **
  • Post: 148
  • Respect: +12
    • Mostra profilo
    • Traversate dei laghi
  • Dispositivo Android:
    GT-I9505, ALE-L21
  • Sistema operativo:
    Windows 7 32/64
Re:Intent che richiama la posta elettronica
« Risposta #1 il: 09 Giugno 2015, 18:14:47 CEST »
0
Si può fare se sai qual'è l'app che viene utilizzata sul dispositivo; a priori non puoi sapere quale applicazione l'utente utilizza: gmail o qualche altro client, ce ne sono molti.

In questo modo dovresti limitare la lista alle sole applicazioni che inviano mail: new Intent(Intent.ACTION_SENDTO);
Se la mia risposta ti è utile, per favore un thanks!