/ / Wyślij wybór intencji e-mail - android, e-mail, zamiar android, wyślij

Wyślij e-mail intent selectr - android, e-mail, zamiar androida, wyślij

Kiedy chcę wysłać wiadomość tekstową za pomocą klienta poczty e-mail na urządzeniu, czy mogę sprawdzić, który klient poczty e-mail (np. Gmail lub Yahoo) został wybrany, zanim ustawię tekst wiadomości e-mail w zamierzeniu?

Odpowiedzi:

2 dla odpowiedzi № 1

Niestety nie. Po uruchomieniu zamiaru selektora to użytkownik decyduje, gdzie pójść / czego użyć. Wszystkie dane muszą zostać ustawione przed uruchomieniem zamiaru, a ty nie masz kontroli, dopóki aktywność nie powróci. Innymi słowy, ty nie mogą wpływać na tekst wiadomości na podstawie ich wyboru w oknie dialogowym.


0 dla odpowiedzi nr 2

Nie można tego osiągnąć przy użyciu domyślnego selektora zamiarów. Możesz jednak zapytać, które działania mogą odpowiedzieć na twoje zamiary:

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

Następnie możesz przejść do wyświetlania tego na liście, obserwować, który wybór dokonał użytkownik i wykonać pewne intencje specyficzne dla wyboru.


0 dla odpowiedzi № 3

możesz jawnie zadzwonić do wybranego komponentu w celu wykonania usługi. Chcę wysłać e-mail za pomocą Gmaila, takiego jak

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

I nie zapomnij dodać uprawnienia do Internetu