【问题标题】:HTML links disappear from Intent-generated email (Android 4.1+)HTML 链接从 Intent 生成的电子邮件中消失(Android 4.1+)
【发布时间】:2013-01-09 07:32:24
【问题描述】:

我在 Android 4.1+ 设备上遇到了问题。 我想发送一封包含 html 链接的电子邮件(通过Intent)。我知道这适用于 android 2.x 设备,因为我这样做了几个月。

这里是java代码:

startActivity(Intent.createChooser(
new Intent(Intent.ACTION_SEND)            
.putExtra(Intent.EXTRA_SUBJECT, "A subject")  
.setType("text/html")
.putExtra(Intent.EXTRA_TEXT, Html.fromHtml("Some text ... <a href="http://www.weburl.com">Some text</a>)), "Email"));

在 Android 4.1 上: 当我使用此代码时,Gmail 会按预期显示文本,并且我会看到带有下划线的蓝色链接。但是我收到了这封没有链接的邮件。

在 Android 2.x 上: 一切都很完美。我收到带有链接的电子邮件

谁能帮我解决这个问题?

【问题讨论】:

    标签: android android-intent html-email


    【解决方案1】:

    我认为电子邮件应用程序没有完整的 html 支持。我有以下代码:

    Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto","", null))            
                    .putExtra(Intent.EXTRA_SUBJECT, "LIJSTJE fb")  
                    .putExtra(Intent.EXTRA_TEXT, Html.fromHtml(new StringBuilder()
                     .append("<p style='font-weight:bold;'>Some Content</p>")
                     .append("<a>http://www.google.com</a><br/>")
                     .append("<a href='http://www.facebook.com'>facebook</a>")
                     .append("<small><p>More content</p></small>")
                     .toString()));
    
                    startActivity(Intent.createChooser(emailIntent, "Send email..."));
    

    按预期添加段落和新行。然而,样式不是。此外,当您打印完整的 url 时,您会获得一个链接,但是当您像 facebook 链接一样进行操作时,您不会。

    我怀疑手机上的电子邮件客户端删除了样式并确保链接链接到可见文本。所以用户知道链接的去向。此外,如果您考虑一下,本机 gmail 应用程序没有样式选项。所以这可能会导致删除样式行为。

    至少这是我的理论。 :)

    (注意:我只在本机 gmail 应用程序上测试过!)

    我还将 Intent 类型从 SEND 更改为 SENDTO,这样它只使用电子邮件客户端而不是其他应用程序。并且我删除了 setType() 方法,因为当你使用它时,你会得到一个“找不到应用程序”的错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-24
      • 1970-01-01
      • 2010-11-10
      • 1970-01-01
      • 1970-01-01
      • 2013-04-08
      • 1970-01-01
      • 2019-09-01
      相关资源
      最近更新 更多