使用意图从Android应用发送HTML电子邮件
我正尝试使用意图从Android应用发送HTML电子邮件。 我正在使用下面的代码:
Intent i = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto",senderMail, null));
i.setType("text/html");
i.putExtra(Intent.EXTRA_EMAIL, new String[]{senderMail});
if (strShare == "Y")
i.putExtra(Intent.EXTRA_CC, new String[]{email});
else
i.putExtra(Intent.EXTRA_BCC, new String[]{email});
i.putExtra(Intent.EXTRA_SUBJECT, subjectMessage);
String htmlData = (new StringBuilder()
.append("<html><head></head><body><p><b>Hello World!</b></p>")
.append("<a>http://www.google.com</a>")
.append("<small><p>More content</p></small></body></html>")
.toString());
i.putExtra(Intent.EXTRA_TEXT,fromHtml(htmlData));
i.putExtra(Intent.EXTRA_HTML_TEXT,htmlData);
i.setData(Uri.parse("mailto:" + senderMail));
try {
startActivity(Intent.createChooser(i, "Send mail..."));
} catch (android.content.ActivityNotFoundException ex) {
Utils.displayAlert("There are no email clients installed.", getActivity());
}
public static Spanned fromHtml(String source) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
return Html.fromHtml(source, Html.FROM_HTML_MODE_LEGACY);
} else {
return Html.fromHtml(source);
}
}
我也尝试过使用:
i.setType("message/rfc822");
并且我尝试了没有EXTRA_HTML_TEXT。
当我选择gmail应用程序发送电子邮件时,所有工作都按预期工作,并发送HTML电子邮件。 但是,当我选择内置的电子邮件应用程序时,HTML代码在电子邮件编辑器中正确呈现(所以我知道它处理HTML代码),但是当电子邮件到达目的地时,它是纯文本电子邮件,内容为纯文本从中剥离HTML标签。
我正在使用Android Studio 2.3,并在两个不同的仿真器(Nexus 5 API 23和Nexus 5 API 21 x86)上和摩托罗拉手机上运行代码,所有结果都相同。
任何人都可以告诉我我做错了吗?
链接地址: http://www.djcxy.com/p/23265.html