2012-12-12 10 views
10

Gibt es eine Möglichkeit, den E-Mail-Client programmgesteuert zu öffnen, ohne dass die Nachricht gesendet werden muss? Ich möchte nur die App Benutzer seine E-Mail öffnen lassen Client für E-Mail-Prüfzwecken :)E-Mail-Client über Intent öffnen (aber keine Nachricht senden)

Intent intent = new Intent(Intent.ACTION_SEND); 
    intent.setType("message/rfc822"); 
    startActivity(Intent.createChooser(intent, "")); 

Dieser Code funktioniert, aber es zwingt Benutzer eine neue Nachricht zu senden.

Antwort

1

Ich glaube, Sie ersetzen sollte Intent.ACTION_SEND-Intent.ACTION_VIEW,
Ich bin sicher, dies funktionieren wird, da dies mit der Liste der Anwendung aufgefordert werden, die MIME-Typ unterstützen "message/rfc822" so wird es Fügen Sie Ihren Standard-E-Mail-Client in Ihr Gerät mit Ausnahme der Google Mail-App ein.

Wie dieser Code:

final Intent emailLauncher = new Intent(Intent.ACTION_VIEW); 
emailLauncher.setType("message/rfc822"); 
try{ 
     startActivity(emailLauncher); 
}catch(ActivityNotFoundException e){ 

} 
19
Intent intent = new Intent(Intent.ACTION_MAIN); 
    intent.addCategory(Intent.CATEGORY_APP_EMAIL); 
    startActivity(intent); 
    startActivity(Intent.createChooser(intent, getString(R.string.ChoseEmailClient))); 

Das hat irgendwie funktioniert. Aber es opend Google Mail für mich, auch weil ich andere E-Mail-Clients haben

+1

Verwenden Sie versuchen fangen Startaktivität, Ausnahmen zu vermeiden wie keine E-Mail-App. – ademar111190

+0

Haben Sie es jemals geschafft, den Chooser zum Laufen zu bringen? Es öffnet Gmail für mich, und ich habe einen anderen E-Mail-Client installiert (myMail). – user1354603

+0

Sie können die letzte Zeile auslassen. Durch den Aufruf von 'startActivity (intent);' wird implizit eine Auswahlfunktion geöffnet (es sei denn, es wurde ein Standardwert festgelegt), sodass 'createChooser' nicht erforderlich ist. –

4

Dieser Code einen Dialog mit einer Liste von E-Mail-Clients zeigen. Wenn Sie auf eins klicken, wird die Anwendung gestartet:

+0

Das funktioniert für mich! Vielen Dank. –

Verwandte Themen