如何发送电子邮件链接打开Android应用程序

我已经创build了一些将电子邮件发送到给定地址的代码。 该电子邮件包含以下链接:

<a href="crystalcloud://android?4567">Click to validate account</a> 

我正在testing这个通过发送到我的Gmail帐户。 出于某种原因,当我收到电子邮件时,不会让我点击链接。 如果我把这个链接放在一个网页中,我的应用程序启动正常。

有什么特别的,我必须做的,让这个链接出现在电子邮件中,或让Gmail只是阻止这种types的链接? 无论如何要解决这个问题在Gmail?

编辑:添加我的代码片段

代码发送链接:

  MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress(from)); message.addRecipient(Message.RecipientType.TO, new InternetAddress(emailAddress)); message.setSubject("New Crystal Cloud User"); message.setContent("Thank you for creating a new Crystal Cloud account!<br><a href=\"crystalcloud://android?4567">Click to validate account</a>", "text/html; charset=utf-8"); Transport transport = session.getTransport("smtp"); transport.connect(host, from, pass); transport.sendMessage(message, message.getAllRecipients()); transport.close(); 

Android代码响应意图:

  <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.BROWSABLE" /> <category android:name="android.intent.category.DEFAULT" /> <data android:scheme="crystalcloud" /> </intent-filter> 

Solutions Collecting From Web of "如何发送电子邮件链接打开Android应用程序"

这是Android电子邮件客户端的问题,他们不显示链接为可点击的,除非他们是http或https。

我的解决scheme是使用httpscheme来打开我的应用程序:

 <data android:scheme="http" android:host="com.company.app" android:port="3513" /> 

这工作,但恼人,因为它提示用户在浏览器或您的应用程序中打开应用程序。 另一个解决scheme是有一个网站的链接,然后做一个JavaScriptredirect到您的应用程序,虽然这可能会导致更多的问题。

在你的邮件头中joinContent-Type: text/html来表示内容是用HTML表示的,表示邮件是以HTML格式发送的。 然后邮件客户端将适当地呈现HTML。 这将有助于将链接封装在<html></html>块中。

我面临同样的问题,最后我得到了解决办法。 您可以分享文本以及链接

  String link_val = "http://play.google.com/store/apps/details?id=" + MainActivity.this.getPackageName(); String body = "<a href=\"" + link_val + "\">" + link_val + "</a>"; String data = "Hello I am using this App.\nIt has large numbers of Words meaning with synonyms.\nIts works offline very smoothly.\n\n" + body; sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(data));