2013-02-26 73 views
2

我想從我的Android應用程序發送電子郵件。如果使用Android電子郵件意向問題

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

它是開放的Skype,用郵件客戶端以及藍牙IM

,如果我使用

Intent emailIntent = new Intent(android.content.Intent.ACTION_SENDTO); 

則只有打開郵件客戶端,但在正文它%20%20當有新行時

哪種方法適合於只獲得郵件客戶端和包含新行和空格的郵件正文。

+0

如何以HTML格式發送郵件? http://stackoverflow.com/a/8456169/1012284 – 2013-02-26 13:40:33

+0

檢查鏈接http://vnstep.wordpress.com/2012/04/14/share-via-android/ 這將直接打開應用程序電子郵件。我希望它會引導你。 – GrIsHu 2013-02-26 13:44:20

回答

1

嘗試如下發送它:

String subject = "mail subject"; 
String body = "whatever the mail content is. may include html tags too"; 

Intent intMail = new Intent(Intent.ACTION_SEND); 
intMail.setType("message/rfc822"); 
intMail.putExtra(Intent.EXTRA_SUBJECT, subject); 
intMail.putExtra(Intent.EXTRA_TEXT, Html.fromHtml(body)); 
startActivity(Intent.createChooser(intMail, "Send Email...")); 
+0

它直接打開Gmail。我想打開所有的郵件客戶端。 – iRunner 2013-02-26 14:03:37

+0

然後將類型定義爲'intMail.setType(「text/html」);' – waqaslam 2013-02-26 14:05:31

+0

是它打開藍牙? text/html? – iRunner 2013-02-26 14:11:41

1

嘗試使用此代碼。你可以保留主題,身體等可選。它只會打開電子郵件客戶端並提供正確的輸出

final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
     emailIntent.setType("message/rfc822"); 
     emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject); 
     emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Body); 
     startActivity(Intent.createChooser(emailIntent, "Email:")); 
+0

它直接打開Gmail.I不想要。 – iRunner 2013-02-26 14:02:45

+0

whad其他電子郵件客戶端在您的手機中定義?此代碼打開 - GMAIl,如果定義了正常電子郵件和maildroid等應用程序。 – Surendra 2013-02-27 03:14:12