2010-04-29 3 views
30

Je suis la conception d'une application dans laquelle je dois ouvrir un client de messagerie sur cliquant sur un bouton. Le client de messagerie doit être ouvert avec un sujet prédéfini et une adresse «à». Y a-t-il un moyen d'atteindre cela? S'il vous plaît me fournir la solution et un exemple de code si possible ...Ouverture d'un client de messagerie sur un bouton en cliquant

+0

double possible de [Comment ouvrir le programme e-mail via Intentions (mais seulement un programme e-mail)] (http://stackoverflow.com/questions/3312438/how-to-open-email-program-via-intents-but -Seulement-un-email-programme) – mixel

Répondre

62

va comme ceci:

Intent intent = new Intent(Intent.ACTION_SEND); 
intent.setType("plain/text"); 
intent.putExtra(Intent.EXTRA_EMAIL, new String[] { "[email protected]" }); 
intent.putExtra(Intent.EXTRA_SUBJECT, "subject"); 
intent.putExtra(Intent.EXTRA_TEXT, "mail body"); 
startActivity(Intent.createChooser(intent, "")); 

Sinon, vous pouvez utiliser IntentFactory.getSendEmailIntent(String mailTo, String mailCC, String subject, CharSequence body, File attachment).

+1

Lorsque je clique sur le bouton de son affichage qu'AUCUN APPLCATIONS de réaliser cette action .... Quelle est la solution ??? –

+0

Cela ne fonctionnera que sur un périphérique réel. – yanchenko

+0

est-il une autre façon d'ouvrir un client de messagerie dans mon émulateur .. ???? –

0

Vous pouvez ouvrir client de messagerie sur l'émulateur en configurant votre adresse e-mail avec email inbuild par email. Puis, quand l'appel sera lancé, l'intention s'ouvrira et enverra le courrier.

9

Pour afficher uniquement les clients de messagerie utilisent ce code:

Intent intent = new Intent(Intent.ACTION_VIEW); 
Uri data = Uri.parse("mailto:[email protected]?subject=" + subject + "&body=" + body); 
intent.setData(data); 
startActivity(intent); 

Si vous avez déjà choisi le client de messagerie par défaut, alors il va lancer. Sinon, il affichera une liste des clients de messagerie disponibles.

+0

cela fonctionne parfaitement ... je suis étonné pourquoi cela a fonctionné sans autorisations? – anshulkatta

+0

@anshulkatta Parce qu'il ne réalise aucune action nécessitant des autorisations. Il ouvre juste une activité qui peut envoyer un email. – mixel

Questions connexes