2010-11-01 4 views
1

J'ai un gestionnaire de base configuré pour appeler l'application de messagerie dans l'émulateur et envoyer un e-mail. J'ai mis en place l'application de messagerie dans l'émulateur avec mes informations afin qu'il soit prêt à partir. Cependant, quand je clique sur le bouton dans mon application pour faire apparaître une fenêtre de composition, je reçois l'invite qui dit: "Aucune application ne peut effectuer cette action"Android: Envoyer un e-mail via l'application e-mail de base d'une autre application dans l'émulateur?

Est-ce juste quelque chose que vous ne pouvez pas faire avec l'émulateur?

private OnClickListener submitBtn = new OnClickListener(){ 
    public void onClick(View v){ 
     Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
     String emailTo = "[email protected]"; 
     String emailSubject = "Subject"; 
     String emailBody = "Some HTML goes here."; 
     emailIntent.setType("text/html"); 
     emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,emailTo); 
     emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,emailSubject); 
     emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(emailBody)); 
     startActivity(Intent.createChooser(emailIntent, "Send email in:")); 
    } 
}; 
+1

Eh bien, quel est le code lorsque vous cliquez sur le bouton ?? – EboMike

+0

Oui, je suppose que cela pourrait aider. Code ajouté. – LoneWolfPR

+0

Pourquoi créez-vous un sélecteur? Commencez l'activité. Android affichera automatiquement un sélecteur s'il existe plusieurs options. – EboMike

Répondre

0

Essayez une application tierce partie, comme K9Mail http://code.google.com/p/k9mail/

Le code semble bien, vous touchez des limites de l'émulateur ...

+0

Ok, j'ai installé k9mail et ça marche. L'utilisation du code ci-dessus affiche l'application de messagerie, mais elle ne fait que préremplir le sujet. Il ne met pas dans le corps ou à. – LoneWolfPR

+0

k9 pourrait ne pas supporter ces extras d'intention? L'avez-vous essayé sur un appareil avec les applications de messagerie Google? – EboMike

+0

Bien sûr, la meilleure chose à faire est de tester votre application sur un vrai téléphone en mode débogage. K9 est une solution de contournement (médiocre), juste pour montrer que votre fonctionnalité d'envoi d'e-mail est correctement déclenchée. –

1

Ajouter

intent.setType("message/rfc822"); 

ou

intent.setType("text/html"); 

Android affichera un sélecteur à l'utilisateur pour toutes les applications pouvant envoyer ces types de messages. L'option html peut mettre en place des applications non-mail donc j'utilise l'option rfc822.

0

J'ai été capable de le faire fonctionner dans l'émulateur en configurant l'application e-mail de base avec une adresse e-mail valide.