Android - 发送带有样式HTML的电子邮件

时间:2015-02-27 15:21:34

标签: android html colors styles

我收到服务器响应,它为我们提供了通过gmail发送的HTML。 这在应用程序的iOS版本上运行良好,但文本只是在Android应用程序中以纯文本形式出现。

以下是我们获得的响应的示例部分:

<html>
    <p style="color: #5987c6">My Shared Itinerary - John Smith.</p>
    <p>Hello.</p>
    <p>I want to share my Memmingen, DE trip itinerary with you.</p>
    <p>Shared using 
        <span style="color: #5987c6">Blah</span> by BlahBlah
    </p>
</html>

我尝试过以下操作:

final Intent shareIntent = new Intent(Intent.ACTION_SENDTO, Uri.parse("mailto:"));
shareIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
shareIntent.putExtra(Intent.EXTRA_TEXT, Html.fromHtml(new StringBuilder().append(testBody).toString()));

将testBody设置为上面给出的示例。 我只是想知道是否有可能立即将这项工作与服务器的响应相关联,或者一旦收到它我是否必须重新格式化? 谢谢你的帮助

1 个答案:

答案 0 :(得分:2)

  

我收到服务器响应,它为我们提供了通过gmail发送的HTML。

不,它会被发送&#34;根据用户选择的应用,从ACTION_SENDTO mailto:上支持Uri的设备上的任何应用中选择。或者,用户可以选择不发送电子邮件。

  

然而,文本只是在Android应用程序中以纯文本形式出现

用户可以选择处理您的请求,以确定如何处理您的内容。

您可以通过以下方式最大化此工作的几率:

  1. Using EXTRA_HTML_TEXT以及EXTRA_TEXT,其中EXTRA_HTML_TEXT包含原始HTML

  2. 使用符合what Html.fromHtml() supports的HTML,其中特别不包含span标记或style属性。

  3. 这些步骤都不能保证Gmail或任何其他应用程序必须忠实地呈现和使用HTML格式的消息,但它们应该有所帮助。