android - 如何通过单击邮件中的链接直接打开我的申请?

标签 android deep-copy deep-linking

到目前为止,我正在寻找解决方案,即当用户单击邮箱中的链接时,如果“我的应用程序”已安装在他的设备中,则“我的应用程序”应该打开,而不要求用户选择“仅一次”选项strong> 和 始终 。例如,单击银行电子邮件中的 URI 可能会出现一个对话框,询问用户是否使用浏览器或银行自己的应用程序打开链接,但是就我而言,我的应用程序应该直接打开,而不要求选择任何选项。 我已按如下方式实现了我的应用程序: 我的 list 文件为 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

如果用户单击上面的链接,我想打开我的应用程序。 请帮助我提供示例代码和步骤。

最佳答案

此功能仅在至少运行 Marshmallow (6+) 的 Android 设备上可用,并且在整个 Android documentation 中被引用为 App Link .

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

然后,按如下方式修改您的 Intent 过滤器以启用自动验证功能:

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

您绝对应该阅读有关此功能的文档。它包含许多有用的提示来测试您的实现。

关于android - 如何通过单击邮件中的链接直接打开我的申请?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34149283/

相关文章:

android - 为什么启动紧急拨号器的 Intent 没有常量?

c# - 深拷贝 System.Windows.Forms.WebBrowser 对象/恢复状态

iOS 通用链接有时会停止工作

c - C语言中的浅拷贝和深拷贝

android - 防止重定向触发应用/通用链接行为

android - Android 中的深层链接和向上导航

android - 协调器布局重叠底部按钮

java - 使用 PagerTitleStrip 均匀分布标题

java - 从 Firebase 检索数据并将其打印出来

javascript - Object.assign() 创建的是深拷贝还是浅拷贝?