/ / Invia selezionatore intento e-mail - Android, e-mail, intento Android, invia

Invia e-mail selettore di intenti: androide, email, intento di Android, invio

Quando voglio inviare del testo con un client di posta elettronica sul dispositivo, è possibile vedere quale client di posta elettronica (ad es. Gmail o Yahoo mail) è stato scelto prima di impostare il testo dell'e-mail nell'intento?

risposte:

2 per risposta № 1

Sfortunatamente no. Quando si avvia l'intento di selezione, spetta all'utente decidere dove andare / cosa utilizzare. Tutti i dati devono essere impostati prima di avviare l'intento e non si ha alcun controllo fino a quando l'attività non ritorna. In altre parole, si non può influire sul testo del messaggio in base alla loro scelta nella finestra di dialogo.


0 per risposta № 2

Questo non può essere realizzato utilizzando il selettore di intenti predefinito. Tuttavia, puoi interrogare quali attività possono rispondere al tuo intento:

PackageManager manager = getPackageManager();
List<ResolveInfo> ri = manager.queryIntentActivities(intent,
PackageManager.GET_RESOLVED_FILTER);

È quindi possibile procedere con la visualizzazione di questo in un elenco, osservare la selezione effettuata dall'utente ed eseguire alcune intenzioni specifiche della selezione.


0 per risposta № 3

puoi chiamare esplicitamente il componente desiderato per fare il tuo servizio. Voglio inviare e-mail utilizzando Gmail come

public void sendGmail(Activity activity, String subject, String text) {
Intent gmailIntent = new Intent();
gmailIntent.setClassName("com.google.android.gm", "com.google.android.gm.ComposeActivityGmail");
gmailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
gmailIntent.putExtra(android.content.Intent.EXTRA_TEXT, text);
try {
activity.startActivity(gmailIntent);
} catch(ActivityNotFoundException ex) {
// handle error
}
}

E non dimenticare di aggiungere l'autorizzazione Internet