/ / Senden Sie E-Mail-Absicht chooser - Android, E-Mail, Android-Absicht, senden

Senden Sie E-Mail-Intent-Chooser - Android, E-Mail, Android-Intent, senden

Wenn ich einen Text mit einem E-Mail-Client auf dem Gerät senden möchte, ist es möglich, zu sehen, welcher E-Mail-Client (z. B. Gmail oder Yahoo Mail) ausgewählt wurde, bevor ich den E-Mail-Text in der Absicht gesetzt habe?

Antworten:

2 für die Antwort № 1

Unglücklicherweise nicht. Wenn Sie die Auswahlfunktion starten, liegt es an dem Benutzer zu entscheiden, wohin er / was zu verwenden ist. Alle Daten müssen vor dem Starten der Absicht festgelegt werden, und Sie haben keine Kontrolle, bis die Aktivität zurückkehrt. Mit anderen Worten, Sie kann den Text der Nachricht aufgrund ihrer Auswahl im Dialogfeld nicht beeinflussen.


0 für die Antwort № 2

Dies kann nicht mit dem Standard-Intent-Chooser erreicht werden. Sie können jedoch abfragen, welche Aktivitäten auf Ihre Absicht reagieren können:

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

Sie könnten dann fortfahren, dies in einer Liste anzuzeigen, zu beobachten, welche Auswahl der Benutzer getroffen hat, und eine Auswahl-spezifische Absicht ausführen.


0 für die Antwort № 3

Sie können Ihre gewünschte Komponente explizit anrufen, um Ihren Service zu erledigen. Ich möchte E-Mails über Google Mail senden

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
}
}

Und vergessen Sie nicht, die Internet-Erlaubnis hinzuzufügen