在电子邮件的正文中发送HTML

时间:2010-05-13 10:11:24

标签: java android

我正在尝试发送包含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..."));

4 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:0)

Android上的gmail和电子邮件应用程序似乎都存在漏洞。如果你把它放到html中,电子邮件应用程序无法正确发送链接,gmail发送链接没问题。 Gmail不会显示包含链接的电子邮件,并且电子邮件应用确实正确显示它们,因此它们是可点击的。至少是你使用自定义uri的情况。

答案 2 :(得分:0)

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

答案 3 :(得分: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..."));