2010-05-13 53 views
4

我試圖發送一封包含HTML的電子郵件,但HTML字面上顯示。我怎樣才能發送HTML鏈接?這裏是我當前的代碼:在電子郵件正文中發送HTML

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
emailIntent.setType("text/html"); 
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] 
{"[EMAIL PROTECTED]"}); 
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, 
"Subject"); 
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "<html><body>Example</body></html>"); 
context.startActivity(Intent.createChooser(emailIntent, "Send 
mail..."));

回答

5
sendIntent.putExtra(Intent.EXTRA_TEXT, Html.fromHtml("<a href=\"" + link_val + "\">" + text_value+ "</a>")); 
+0

我用這個代碼...當我從機器人的電子郵件發送郵件得到了純文本的text_value的地方... – Andy 2010-05-15 04:10:03

+0

有一件事更多我從gmail帳戶得到正確的輸出.... – Andy 2010-05-15 04:36:42

+0

它應該works.but我沒有猜測你的問題。 – Praveen 2010-05-15 08:44:31

0

似乎是在Android Gmail和電子郵件應用程序錯誤。如果您將電子郵件應用程序放入html,電子郵件應用程序無法正確發送鏈接,Gmail會發送鏈接。儘管Gmail不會顯示包含鏈接的電子郵件,但電子郵件應用程序會正確顯示它們,因此它們可以點擊。至少在使用自定義uri的情況下是這種情況。

0

API 16 ++有android.content.Intent.EXTRA_HTML_TEXT

0

您可以在16之前,您應該作爲一個額外的內容添加到您正常使用意向的API使用android.support.v4.content.IntentCompat.EXTRA_HTML_TEXT。 同時指定HTML文本時,你需要定期添加替代文本以及

所以,你的代碼看起來像

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
emailIntent.setType("text/html"); 
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] 
{"[EMAIL PROTECTED]"}); 
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, 
"Subject"); 
emailIntent.putExtra(android.support.v4.content.IntentCompat.EXTRA_HTML_TEXT, 
"<html><body>Example</body></html>"); 
context.startActivity(Intent.createChooser(emailIntent, "Send 
mail..."));