2012-09-05 136 views
7

我想打開默認的電子郵件客戶端,而不是顯示選項。我試過,但我沒有得到請任何人都可以幫助我。Android - 如何直接打開電子郵件客戶端

我用下面的代碼:

final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 

     emailIntent.setType("text/html"); 
     emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "My Allergy Journal");  
     emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml("<small>"+sb.toString()+"</small>"));         
     startActivity(Intent.createChooser(emailIntent, "Email:")); 

它的顯示選項

enter image description here

但我想直接打開,然後默認的電子郵件客戶端。

enter image description here

回答

8

你可以使用下面的代碼來打開你想要的任何意圖,例如gmail,facebook,email等。簡單地在我的代碼中使用的類型傳遞「gmail」如果你想打開gmail,傳遞「face」if你想打開Facebook

Intent intent = new Intent(android.content.Intent.ACTION_SEND); 
intent.setType("text/html"); 
List<ResolveInfo> resInfo = getPackageManager().queryIntentActivities(intent, 0); 

if (!resInfo.isEmpty()) 
{ 
    for (ResolveInfo info : resInfo) 
    { 
    if (info.activityInfo.packageName.toLowerCase().contains(type) || info.activityInfo.name.toLowerCase().contains(type)) 
    { 
      intent.putExtra(android.content.Intent.EXTRA_TEXT, htmlBody); 
      intent.setPackage(info.activityInfo.packageName); 
      startActivity(Intent.createChooser(intent, getResources().getString(R.string.share_send_text))); 
     } 
} 
+0

我想打開android電子郵件客戶端。爲此,我用什麼字符串代替類型? – naresh

+0

只是在類型字段中使用「電子郵件」........讓我知道它的工作與否 – AndroidDev

+0

謝謝它的工作 – naresh

14

幀格式的String String URI="mailto:?subject=" + subject + "&body=" + body;

Intent intent = new Intent(Intent.ACTION_VIEW); 
Uri data = Uri.parse(URI); 
intent.setData(data); 
startActivity(intent); 

這將打開由用戶選擇默認的電子郵件程序。

Linkify這樣做。如果你喜歡,請查看it's source code

+0

它只是適合我。 – Bwire

+0

工作就像魅力! –

相關問題