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

我已经创建了一些代码,将html电子邮件发送给给定的地址.电子邮件包含以下链接
<a href="crystalcloud://android?4567">Click to validate account</a>

我通过将其发送到我的Gmail帐户进行测试.由于某些原因,当我收到电子邮件,它不会让我点击链接.如果我将此链接放在网页中,我的应用程序启动正常.

有没有什么特别的事情要让这个链接显示一个电子邮件,或者gmail只是阻止这些链接?有没有办法在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>

解决方法

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

我的解决方案是使用http方案打开我的应用程序:

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

这样做有效,但令人讨厌,因为它提示用户在浏览器或应用程序中打开应用程序.另一个解决方案是链接到网站,然后对您的应用程序进行JavaScript重定向,但这可能会导致更多问题.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...