我想从电子邮件中的链接启动我的应用。这个链接基于特殊模式。
我在我的应用程序的活动(AndroidManifest.xml)中使用:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="ace" android:host="samuel"/>
</intent-filter>*
在我的应用中,当用户点击“通过电子邮件分享”按钮时,它会打开gmail应用以发送电子邮件。
Intent mailIntent = new Intent(android.content.Intent.ACTION_SEND);
mailIntent.setType("plain/test");
mailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{});
mailIntent.putExtra(android.content.Intent.EXTRA_CC, new String[]{});
mailIntent.putExtra(android.content.Intent.EXTRA_BCC, new String[]{});
mailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
mailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(emailBody));
startActivity(Intent.createChooser(mailIntent, "You need to configure gmail..."));*
'emailBody'包含特殊网址链接:ace:adid=9ca98efe-ef48-47c0-aff5-058224b3093d
当我将此电子邮件发送给其他人时,收件人打开邮件,没有这样的特殊URL链接。
我不知道为什么?当我使用其他电子邮件(不是gmail)发送相同的HTML内容时,没关系。 收件人可以看到特殊的URL链接。
答案 0 :(得分:2)
可能会有一些过滤掉。我通过使用tinyurl绕过了类似的限制。您可以使用一个小的PHP脚本将get请求转换为ace://链接。
答案 1 :(得分:2)
@ Samuel.Cai我相信@Oldarney告诉你把你的网址放到TinyURL.com(我为你做了)并把它放在你的电子邮件正文中:http://tinyurl.com/a7y2mzn
它对我有用,但不幸的是你必须在网上让你的浏览器进行重定向。你最安全的赌注可能就是
'emailBody'= ace:// samuel?adid = 9ca98efe-ef48-47c0-aff5-058224b3093d
并告诉用户如果链接不起作用,请复制粘贴到浏览器中!
希望这有帮助。