2013-07-18 46 views
0
String body="message"; 

Intent emailIntent = new Intent(Intent.ACTION_SEND); 
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Check out this book I am reading"); 
emailIntent.setType("plain/text"); 
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, body); 
startActivity(Intent.createChooser(emailIntent, "Send email...")); 

無論我做什麼(刪除所有gmail帳戶並使用郵件應用程序登錄hotmail帳戶),此代碼默認啓動Gmail,不顯示或讓我選擇我的通用郵件應用程序。電子郵件意圖默認啓動gmail

因此,無法讓用戶通過hotmail或其他郵件提供商發送電子郵件。

更新: 其實這是代碼,我曾經遇到過最好的一塊,它直接向您提供的應用程序選擇器只郵件客戶端都存在哪裏。下面的答案會給你一個巨大的應用程序列表,供選擇,無關緊要。

String mailTo=""; 
Intent email_intent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto",mailTo, null)); 
email_intent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject text here"); 
email_intent.putExtra(android.content.Intent.EXTRA_TEXT,"Body text here"); 

startActivity(Intent.createChooser(email_intent, "Send email...")); 

回答

2

嘗試使用正確的MIME類型(text/plain)代替無效的MIME類型(plain/text)。

+0

謝謝你的工作。但是我提供了各種非郵件應用程序。我怎樣才能過濾它們。 –

+1

@NubyJoe:你沒有。 「ACTION_SEND」的要點是允許用戶通過* format *(例如純文本)共享內容。 *用戶*可以控制何處,何時以及如何共享該內容。如果用戶想將其作爲推文發佈,或將其上傳到Dropbox,那是*用戶的選擇*,而不是你的。 「ACTION_SEND」不是「電子郵件」意圖「」,不止是「ACTION_VIEW」是「瀏覽器」意圖「」。 – CommonsWare

相關問題