2012-03-16 3 views
1

Eh bien je veux rediriger l'utilisateur de l'application vers le client de messagerie par défaut dans son téléphone. J'ai entendu dire que je ne peux pas faire que l'intention de cette application de diffusion de lancement. Donc, l'idée générale est d'obtenir des applications possibles pour Intent.Action_Send, et commencez juste celui que l'utilisateur a choisi avec Intent.CreateChooser (...) ;.Comment lancer le client de messagerie par défaut de l'utilisateur, fenêtre par défaut (boîte de réception)

Mais il semble que je ne peux pas ou je ne sais pas comment obtenir le nom du paquet choisi.

Répondre

-1

Ainsi j'ai fait le woraround rapide pour mon problème. Je laisse l'utilisateur décider s'il doit exécuter gmail, ConversationList ou ouvrir le client de messagerie lui-même. Je l'ai également protégé de se briser quand il n'y aura pas de client gmail sur un téléphone.

0

En fait, il est possible de lancer le client de messagerie par intention:

Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage("com.android.email/.activity.EmailActivity"); 
startActivity(LaunchIntent); 

espère que cela fonctionne pour vous.

+0

03-16 14: 33: 52,614: E/AndroidRuntime (13179): java.lang.NullPointerException 03-16 14: 33: 52,614: E/AndroidRuntime (13179): \t à android.app.Instrumentation.execStartActivity (Instrumentation.java:1374) 03-16 14: 33: 52.614: E/AndroidRuntime (13179): \t à android.app.Activity.startActivityForResult (Activity.java:2827) 03-16 14: 33: 52.614: E/AndroidRuntime (13179): \t at android.app.Activity.startActivity (Activity.java:2933) – Drake29a

+0

Quel téléphone utilisez-vous? Il se peut que votre client Mail local ait un autre nom de fichier. Vous pouvez rechercher cela avec le tag "ActivityManager" dans logcat. Le catlog de l'application dans le Play Store prend également en charge ce filtre. – Tim

+0

Im utilisant Xperia x10, mais im essayant de le faire fonctionner sur n'importe quel téléphone. Même si l'utilisateur utilise un autre client que Gmail. Existe-t-il un moyen de lister les paquets du client de messagerie dans l'application. Je pense que si j'utilise CreateChooser, je serai en mesure d'imprimer le nom du paquet de choix de l'utilisateur, et il suffit de le lancer. (Fondamentalement, je peux utiliser CreateChooser pour ouvrir l'application pour l'envoi de courrier électronique, et je veux entrer dans la boîte de réception) – Drake29a

0

Essayez ceci:

 ..... 
     Intent emailIntent = new Intent(Intent.ACTION_SEND); 
     emailIntent.setType("text/html"); 
     emailIntent.putExtra(Intent.EXTRA_SUBJECT, "some subject"); 
     ..... 
     startActivity(Intent.createChooser(emailIntent, "Email:")); 
     ..... 

Il swows dialogue avec les clients de messagerie posible. Après que l'utilisateur en ait choisi, il le redirige vers le client choisi ....

+0

à la fenêtre de composeur. Donc ça ne me satisfera pas. Je dois entrer dans la boîte de réception. – Drake29a

Questions connexes