我得到一个服务器响应,它为我们提供了通过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_SENDTO
和mailto:
Uri
的任何应用程序中"发送"。或者,用户可以选择根本不发送电子邮件。
然而,在安卓应用程序中,文本只是纯文本
由用户选择处理您的请求的应用程序来决定如何处理您的内容。
你可以通过以下方式最大限度地提高这种工作的几率:
-
使用
EXTRA_HTML_TEXT
和EXTRA_TEXT
,其中EXTRA_HTML_TEXT
具有原始HTML -
使用符合
Html.fromHtml()
支持的HTML,特别是不包括span
标记或style
属性。
这两个步骤都不能保证Gmail或任何其他应用程序一定会忠实地呈现和使用HTML格式的消息,但它们应该会有所帮助。