/ / Poslať e-mail s výberom zámeru - Android, e-mail, Android s úmyslom, poslať

Poslať posúdenie zámeru e-mailu - android, e-mail, android-intent, odoslať

Keď chcem v zariadení odoslať nejaký text s e-mailovým klientom, je možné zistiť, ktorý e-mailový klient (napr. E-mail Gmail alebo Yahoo) bol vybraný skôr, ako som nastavil zámer e-mailu?

odpovede:

2 pre odpoveď č. 1

Bohužiaľ nie. Keď spustíte zámer výberu, je na užívateľovi, aby rozhodol, kam má ísť / čo má použiť. Pred spustením zámeru musia byť nastavené všetky údaje a vy nemáte žiadnu kontrolu, kým sa aktivita nevráti. Inými slovami nemôže ovplyvniť text správy na základe ich výberu v dialógovom okne.


0 pre odpoveď č. 2

To sa nedá dosiahnuť pomocou predvoleného nástroja na výber zámeru. Môžete však zistiť, ktoré činnosti môžu reagovať na váš zámer:

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

Potom by ste mohli pokračovať v zobrazení tohto zoznamu, pozorovať, aký výber urobil užívateľ, a vykonať určitý zámer špecifický pre výber.


0 pre odpoveď č. 3

môžete výslovne zavolať požadovanému komponentu, aby vám poskytol služby. Chcem poslať e-mail pomocou gmail rád

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

A nezabudnite pridať povolenie na internet