2015-05-18 71 views
2

我試圖使用標準Gmail應用程序從我的應用程序發送電子郵件。 但我總是選擇器。 如何在沒有選擇器的情況下立即打開標準gmail應用程序? 我不需要選擇任何可以發送電子郵件的應用程序。 我只需要GMAIL。 謝謝! 這是我的代碼。使用標準Gmail應用程序發送電子郵件沒有選擇器

Intent intent = new Intent(Intent.ACTION_SEND); 
intent.setType("message/rfc822"); 
intent.setClassName("com.google.android.gm", "com.google.android.gm.ConversationListActivity"); 
intent.putExtra(Intent.EXTRA_EMAIL , new String[]{"[email protected]"}); 
intent.putExtra(Intent.EXTRA_SUBJECT, "Subject"); 
intent.putExtra(Intent.EXTRA_TEXT , "Text"); 
try { 
    startActivity(intent); 
} catch (android.content.ActivityNotFoundException ex) { 
    Toast.makeText(getApplicationContext(), "There are no email clients installed.", Toast.LENGTH_SHORT).show(); 
} 
+0

的[通過Gmail發送電子郵件(http://stackoverflow.com/questions/8284706/send-email-via-gmail) –

+0

這可能是這個問題的副本可能重複: HTTP:/ /stackoverflow.com/questions/8284706/send-email-via-gmail –

+3

「我不需要任何可以發送電子郵件的應用程序選擇器,我只需要GMAIL」 - 請注意並非所有的Android用戶都使用Gmail。 – CommonsWare

回答

3

你可以試試這個代碼。

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
    emailIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    emailIntent.setType("plain/text"); 
    emailIntent.setClassName("com.google.android.gm", "com.google.android.gm.ComposeActivityGmail"); 
    emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{"[email protected]"}); 
    emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Yo"); 
    emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Hi"); 
    startActivity(emailIntent); 
0

你需要的,如果你想使用Gmail應用 ,而不是選擇器使用ACTION.SENDTO意圖。您還將在URI文本 中添加附加內容,而不是基於意圖。

Intent send = new Intent(Intent.ACTION_SENDTO); 
String uriText = "mailto:" + Uri.encode("[email protected]") + 
     "?subject=" + Uri.encode("the subject") + 
     "&body=" + Uri.encode("the body of the message"); 
Uri uri = Uri.parse(uriText); 

send.setData(uri); 

startActivity(Intent.createChooser(send, "Send Email...")) 
0

請檢查這個問題,它會幫助你,因爲本說明的主要是第三個答案,需要注意的是,如果你要使用此代碼,你檢查,以確保用戶具有很重要在他們的設備上安裝了「com.google.android.gm」軟件包。在任何語言中,確保檢查特定字符串和初始化爲空。

Intent URI to launch Gmail App

相關問題