【问题标题】:Sending HTML based email body using android intent使用 android 意图发送基于 HTML 的电子邮件正文
【发布时间】:2018-09-08 10:29:08
【问题描述】:

我需要使用 android intent extra 将基于 HTML 的内容发送到电子邮件应用程序。它接受一些标签,如<BR>,但它没有显示任何锚链接或<H1>,它的显示就像简单的文本。

EDITED : I have tried with gmail app

我已经附上了我的 kotlin 语言代码

   val body="<a href=\"http://www.google.com\">clicke me</a>"
            val intent = Intent(Intent.ACTION_SENDTO)
            intent.setType("text/html")
            intent.data = Uri.parse("mailto:") // only email apps should handle this
            intent.putExtra(Intent.EXTRA_SUBJECT, "Subjecnew")
            intent.putExtra(Intent.EXTRA_TEXT,Html.fromHtml(body))
            if (intent.resolveActivity(packageManager) != null) {
                startActivity(intent)
            }

【问题讨论】:

  • 这取决于电子邮件客户端如何解释EXTRA_TEXT。不同的应用程序将有不同级别的支持。另请注意,ACTION_SENDTO 没有记录 EXTRA_TEXTEXTRA_SUBJECT,因此许多应用程序将完全忽略这些额外内容。
  • 我已经使用 gmail 和 Extra text 进行了测试,并且主题可以正常工作,但它没有将内容显示为 HTML,而是将其视为普通字符串

标签: android android-intent gmail html-email


【解决方案1】:

Google 已从 gmail 应用程序中删除了该功能,因此无法将标签内容发送到 gmail 。另一种方法是您可以从服务器发送该数据

【讨论】:

    【解决方案2】:
    final Intent shareIntent = new Intent(Intent.ACTION_SENDTO,      
    Uri.parse("mailto:"));
    shareIntent.putExtra(Intent.EXTRA_SUBJECT, "The Subject");
    shareIntent.putExtra(
    Intent.EXTRA_TEXT,
    Html.fromHtml(new StringBuilder()
        .append("<p><b>Some Content</b></p>")
        .append("<small><p>More content</p></small>")
        .toString())
    );
    

    【讨论】:

    • 在 gmail 应用程序中运气不佳,即使是粗体也无法显示纯文本。
    猜你喜欢
    • 2018-04-29
    • 1970-01-01
    • 2014-06-06
    • 1970-01-01
    • 2012-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多