Ce code va commencer directement le gmail application pour envoyer un email.
Je trouve à l'aide this post que la partie importante est de trouver le « packageName » et le « activityInfo.name »
Je voulais utiliser seulement gmail sans chooser. Notez que le nom du paquet est codé en dur, donc si Gmail change son nom de fichier, il ne fonctionnera plus.
La clé de cet élément était setComponent, où le premier paramètre est le nom du package et le second, le nom activityInfo. Mais comme je l'ai dit à utiliser avec prudence, je me répète; Si l'application gmail n'est pas installée sur l'utilisateur ou si Gmail modifie son nom de package ou son nom Activty pour envoyer un e-mail, ce code (dur) sera rompu. Ton ont été mis en garde;)
Voici mon code
Intent myIntent = new Intent(Intent.ACTION_SEND);
PackageManager pm = getPackageManager();
Intent tempIntent = new Intent(Intent.ACTION_SEND);
tempIntent.setType("*/*");
List<ResolveInfo> resInfo = pm.queryIntentActivities(tempIntent, 0);
for (int i = 0; i < resInfo.size(); i++) {
ResolveInfo ri = resInfo.get(i);
if (ri.activityInfo.packageName.contains("android.gm")) {
myIntent.setComponent(new ComponentName(ri.activityInfo.packageName, ri.activityInfo.name));
myIntent.setAction(Intent.ACTION_SEND);
myIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{"[email protected]"});
myIntent.setType("message/rfc822");
myIntent.putExtra(Intent.EXTRA_TEXT, "extra text");
myIntent.putExtra(Intent.EXTRA_SUBJECT, "Extra subject");
myIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("uri://your/uri/string");
}
}
startActivity(myIntent);
Non Je n'ai pas encore essayé. Mais je le ferai certainement. Merci pour l'aide Jeff. – Aakash
text/plain works – Aakash
merci pour le lien aussi –