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

前端之家收集整理的这篇文章主要介绍了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相关文章