2

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

我在我的应用程序的活动(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' 包含特殊的 URL 链接: ace:adid=9ca98efe-ef48-47c0-aff5-058224b3093d


当我将这封邮件发送给其他人时,收件人打开邮件,并没有这样一个特殊的 URL 链接。

我不知道为什么 ?当我使用其他电子邮件(不是 gmail)发送相同的 html 内容时,没关系。收件人可以看到特殊的 URL 链接。

4

2 回答 2

2

可能会有一些过滤掉。我能够通过使用 tinyurl 来绕过类似的限制。您可以使用一个小的 php 脚本将 get 请求转换为 ace:// 链接。

于 2011-07-08T08:30:51.363 回答
2

@Samuel.Cai 我相信@Oldarney 是在告诉您将您的 URL 放入 TinyURL.com(我为您完成的)并将其放入您的电子邮件正文中:http://tinyurl.com/a7y2mzn

它对我有用,但不幸的是,您必须在线才能让浏览器进行重定向。你最安全的赌注可能是

'emailBody' = ace://samuel?adid=9ca98efe-ef48-47c0-aff5-058224b3093d

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

希望这会有所帮助。

于 2013-01-14T17:05:26.633 回答