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



我得到一个服务器响应,它为我们提供了通过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设置为我上面给出的示例。我只是想知道,是否有可能在收到服务器的响应后立即完成这项工作,或者我是否必须在收到响应后重新格式化?感谢您的帮助

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

不,它将由用户选择的应用程序从设备上支持ACTION_SENDTOmailto: Uri的任何应用程序中"发送"。或者,用户可以选择根本不发送电子邮件。

然而,在安卓应用程序中,文本只是纯文本

由用户选择处理您的请求的应用程序来决定如何处理您的内容。

你可以通过以下方式最大限度地提高这种工作的几率:

  1. 使用EXTRA_HTML_TEXTEXTRA_TEXT,其中EXTRA_HTML_TEXT具有原始HTML

  2. 使用符合Html.fromHtml()支持的HTML,特别是不包括span标记或style属性。

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

最新更新