如何通过点击邮件链接直接打开我的应用程序?

时间:2015-12-08 06:17:57

标签: android deep-copy deep-linking

到目前为止,我正在寻找解决方案,即当用户点击其邮箱中的链接时,如果我的应用程序已经安装在他的设备中,我的应用程序应该打开而不要求用户选择 Just Once 始终。例如,点击银行电子邮件中的URI可能会导致对话框询问用户是使用浏览器还是银行自己的应用程序来打开链接,但是在我的情况下,我的应用程序应该直接打开而不要求选择任何选项。 我已经实现了我的应用程序如下: 我的清单文件为 AndroidManifest.xml

   <activity android:name=".WelcomeActivity"
        android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.VIEW"></action>
            <category android:name="android.intent.category.DEFAULT"></category>
            <category android:name="android.intent.category.BROWSABLE"></category>
            <data android:host="www.example.com"
                android:scheme="http"
                android:pathPrefix="/blog"></data>
        </intent-filter>
    </activity>

我的示例网址是http://www.example.com/blog

如果用户点击上面的链接,我想打开我的应用程序。 请帮我处理带有步骤的示例代码。

1 个答案:

答案 0 :(得分:3)

此功能仅适用于至少运行Marshmallow(6+)且在Android documentation内被引用为App Link的Android设备。

要完全实现此功能,它需要您拥有相应的URL并在此地址添加配置文件:https://www.example.com/.well-known/assetlinks.json。文档中描述了文件内容(包含包名称及其签名)。

然后,按照以下步骤修改您的intent-filter以启用auto-verify功能:

<intent-filter android:autoVerify="true">
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="https" android:host="www.example.com" android:pathPrefix="/blog" />
</intent-filter>

您一定要阅读有关此功能的文档。它包含许多测试实现的有用技巧。