【问题标题】:A simple HTML Anchor Link does not show-up as a link in a received email in gmail一个简单的 HTML 锚链接不会显示为 gmail 中收到的电子邮件中的链接
【发布时间】:2012-11-11 06:17:13
【问题描述】:

提前感谢您的帮助。

我正在开发一个 Android 应用,作为其核心功能的一部分,它需要在用户之间发送电子邮件(点对点电子邮件,而不是垃圾邮件)。这些电子邮件需要包含一个链接,该链接将在用户单击时打开 Android 应用程序

我遇到的问题是:当我将这些电子邮件发送到 gmail 帐户时,链接显示为普通文本而不是链接。

这是我的代码

private void sendEmail(String recepientName, String recipientEmail) {
Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);  
String aEmailList[] = {  recipientEmail };      
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, aEmailList);  
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "My Title");  
emailIntent.setType("text/html");  
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT,  Html.fromHtml( 
"<!DOCTYPE html><html><body>" +
"<br>Dear " + recepientName + ",<br>" +
"Please <a href=\"myapp://" + "\"><font>click here</font></a></body></html>"));
startActivityForResult(emailIntent, EMAIL_REQUEST);
}

我应该怎么做才能使这些链接在收到的 gmail 电子邮件中起作用?

再次感谢

【问题讨论】:

  • 这曾经可以工作,但在最近更新的 gmail 应用程序中被破坏了。如果我找到解决方案,我会将其作为答案发布在这里。
  • @Mattlary:我也面临同样的问题,邮件正文中发送的锚标签在 gmail 应用程序中不可点击,我记得以前可以这样,你找到解决方法了吗?

标签: android gmail anchor hyperlink


【解决方案1】:

我发现我以某种方式(可能是凭借出色的才能)进入了 Google 的黑名单。 这意味着谷歌从我的代码中删除了链接,用户将其视为常规文本

原因如下:

我的链接如下所示:myAppName://parameter1/parameter2/Parameter3

前缀 ("myAppName://") 允许 Android 识别我的应用并在您单击链接时启动它。

但是: 当这个链接被发送到一个 gmail 帐户时,Google 的服务器能够识别出这是一个无效的链接(他们检查了这个真是太酷了哈!!)并且他们删除了这个链接。

解决方案是使用真实的 URL 进行 App 识别和启动: 比如:http://myhost.com/parameter1/parameter2/Parameter3

希望有帮助

android:scheme="http" 和相应的 android:host

【讨论】:

  • 我已经用有效的 URL https://www.google.com 尝试了你的代码,但我仍然只得到纯文本。
猜你喜欢
  • 2014-10-20
  • 1970-01-01
  • 2018-11-15
  • 1970-01-01
  • 2011-09-06
  • 2015-11-22
  • 1970-01-01
  • 1970-01-01
  • 2011-04-10
相关资源
最近更新 更多