从电子邮件中的链接启动我的应用程序,但链接已通过Gmail过滤,我该怎么办?请求帮忙 !

时间:2011-07-08 05:07:17

标签: android android-intent android-browser

我想从电子邮件中的链接启动我的应用。这个链接基于特殊模式。

我在我的应用程序的活动(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链接。

2 个答案:

答案 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

并告诉用户如果链接不起作用,请复制粘贴到浏览器中!

希望这有帮助。