无法使用`ShareCompat.IntentBuilder`设置粗体电子邮件正文

时间:2017-02-03 12:28:43

标签: android android-support-library

我正在尝试使用ShareCompat.IntentBuilder通过电子邮件应用程序共享文本,但忽略HTML标记(例如<b>Some text</b>)。它显示纯文本。

final String messageBody = "<b>Hello, Google!</b>";
final ShareCompat.IntentBuilder intentBuilder = ShareCompat.IntentBuilder.from(fragment.getActivity())
        .setType("text/html")
        .setSubject("Subject")
        .setHtmlText(messageBody)
        .setChooserTitle("Choose e-mail application:");
fragment.startActivity(intentBuilder.createChooserIntent());

我使用 Gmail Mail.Ru 电子邮件客户端进行了测试。

仅适用于 API 16/17 ,但不适用于 API 19 及更高版本。

Nexus 5 - KitKat 4.4

1 个答案:

答案 0 :(得分:1)

无法实现所有邮件客户端的目标。

由于不同的电子邮件客户端以不同方式处理电子邮件(它们使用不同的HTML预处理器)。他们必须准备要转换为HTML的HTML,这些HTML可以安全地显示在他们自己的电子邮件客户端的HTML中。这是一件非常困难的事情,并且大多数基于Web的电子邮件客户端的预处理器都会过度限制并删除任何可能影响其电子邮件客户端布局的任何内容。