Est-ce encore possible sans appeler un paquet spécifique? J'ai trouvé d'innombrables exemples d'envoi d'emails via l'intention, mais je ne trouve rien sur l'ouverture du client de messagerie par défaut sur l'appareil via un bouton (de préférence avec un sélecteur si l'utilisateur a plusieurs clients).Comment lancer le client de messagerie directement dans la boîte de réception?
Répondre
Il n'y a pas d'action standard Intent
pour ouvrir la "boîte de réception" du "client de messagerie par défaut sur le périphérique".
Y a-t-il une action d'intention standard que je peux utiliser pour ouvrir le client de messagerie par défaut? (Même si ce n'est pas la vue de la boîte de réception - il suffit de lancer l'application de la même manière en touchant l'icône sur l'écran d'accueil le lancerait) – wirbly
@wirbly: Non, désolé. – CommonsWare
Ok, merci pour l'info. On dirait que j'appelle un paquet spécifique, alors. – wirbly
vous pouvez essayer de votre objet d'activité:
il ne vous prendra pas nécessairement la boîte de réception directement, mais il va ouvrir l'application e-mail:
Intent intent = getPackageManager().getLaunchIntentForPackage("com.android.email");
startActivity(intent);
Celui-ci ne fonctionne que si le client de messagerie Android est le programme de messagerie par défaut (rarement le cas). Si ce n'est pas le cas, startActivity lève une exception. – KPK
même si c'est l'application par défaut, il ne fonctionnerait pas.Je me souviens que certains téléphones htc avaient le paquet email nommé différemment, quelque chose comme "com.htc.android.email". donc ça ne marcherait pas –
Il n'y a pas défaut/moyen facile de fais ceci. Ce code a fonctionné pour moi. Il ouvre un sélecteur avec toutes les applications email enregistrées sur le périphérique et directement dans la boîte de réception:
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);
}
Initialement, cela ressemblait à du code très effrayant, mais ça a quand même fonctionné! J'ai ajouté une instruction else pour les téléphones qui n'ont pas de client de messagerie installé. – user1354603
Ce code était la seule solution que j'ai trouvé pour m'aider à ouvrir la boîte de réception (sans écrire un nouveau message), et en même temps il vous donne un dialogue sélectif, ce qui est génial, merci Larisa – Sniper
là ça marche. Vous devriez l'emballer dans un assistant et le lancer sur GitHub Gists. THNX! – CelticParser
- 1. Comment lancer un client de messagerie depuis mon application de telle sorte que je puisse voir la boîte de réception, les éléments envoyés etc
- 2. Client de messagerie dans une application Rails
- 3. bonne pratique pour mettre en œuvre le système de messagerie/boîte de réception en ligne
- 4. afficher la boîte de réception?
- 5. comment puis-je obtenir les messages dans le dossier de la boîte de réception du client gmail/e-mail?
- 6. Mise à jour côté client - PHP/ASP - boîte de réception
- 7. Messagerie client-client dans le cacao?
- 8. formulaire html dans le client de messagerie
- 9. Comment identifier brouillon de la boîte de réception et les messages envoyés dans la boîte aux lettres MAIl
- 10. Accéder à la boîte de réception/messagerie Android à partir de l'activité?
- 11. Comment définir le protocole de messagerie dans JavaMail
- 12. Boîte de réception Android Access
- 13. Android Impossible de lancer la boîte de réception à partir d'une notification
- 14. Aller dans la boîte de réception dans Android
- 15. Rechercher le client de messagerie électronique par défaut
- 16. boîte de réception Parse dans Postfix en utilisant java
- 17. Comment empêcher les SMS entrants d'atteindre la boîte de réception?
- 18. Messagerie client vers client C#
- 19. Comment stocker les informations de messagerie pour le client de messagerie
- 20. Messages de boîte de réception stockés dans la base de données ou via Real Email System?
- 21. En utilisant MAPI avec C++, comment puis-je ouvrir la boîte de réception d'un autre utilisateur?
- 22. Comment modifier les SMS dans une boîte de réception Android
- 23. récupérer l'adresse e-mail de la boîte de réception
- 24. Intégration de la messagerie électronique
- 25. lancer X windows sur la machine client
- 26. Distribution de fichiers via SMTP: Comment faire le côté réception?
- 27. Contrôle du client de messagerie de delphi
- 28. Suggestions pour les notifications de boîte de réception dans Android?
- 29. comment obtenir des messages dans la boîte de réception de facebook en utilisant la requête fql?
- 30. Vérifiez la boîte de réception des messages dynamiquement avec ajax?
Je suis curieux de savoir pourquoi vous voulez faire cela. – MatrixFrog
Le client souhaite que son application dispose d'un bouton "courrier électronique" qui lance simplement le client de messagerie par défaut pour vérifier le courrier de la société. – wirbly