Questo codice ha funzionato per me. Si apre un selettore con tutte le applicazioni e-mail registrati al dispositivo e direttamente a Posta in arrivo:
Intent emailIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("mailto:"));
PackageManager pm = getPackageManager();
List<ResolveInfo> resInfo = pm.queryIntentActivities(emailIntent, 0);
if (resInfo.size() > 0) {
ResolveInfo ri = resInfo.get(0);
// First create an intent with only the package name of the first registered email app
// and build a picked based on it
Intent intentChooser = pm.getLaunchIntentForPackage(ri.activityInfo.packageName);
Intent openInChooser =
Intent.createChooser(intentChooser,
getString(R.string.user_reg_email_client_chooser_title));
// Then create a list of LabeledIntent for the rest of the registered email apps
List<LabeledIntent> intentList = new ArrayList<LabeledIntent>();
for (int i = 1; i < resInfo.size(); i++) {
// Extract the label and repackage it in a LabeledIntent
ri = resInfo.get(i);
String packageName = ri.activityInfo.packageName;
Intent intent = pm.getLaunchIntentForPackage(packageName);
intentList.add(new LabeledIntent(intent, packageName, ri.loadLabel(pm), ri.icon));
}
LabeledIntent[] extraIntents = intentList.toArray(new LabeledIntent[intentList.size()]);
// Add the rest of the email apps to the picker selection
openInChooser.putExtra(Intent.EXTRA_INITIAL_INTENTS, extraIntents);
startActivity(openInChooser);
}
fonte
2015-01-28 10:40:53
dispiace non quello, ma provare a utilizzare questo –
Mailclient Intent = new Intent (Intent.ACTION_VIEW); mailClient.setClassName ("com.google.android.gm", "com.google.android.gm.ConversationListActivity"); startActivity (mailClient); –
tnx per la vostra risposta. Mi sono appena reso conto che sto cercando di raggiungere l'app di posta HTC, non l'app di posta predefinita. C'è un modo per aprirlo nella posta in arrivo? o puoi mostrarmi dove posso trovare quell'informazione? –