Android 12+ 上应用链接的有效意图过滤器

问题描述 投票:0回答:1

由于在 Android 12+ 上打开应用程序链接所需的意图过滤器规范,我有点困惑无需选择哪个应用程序应打开链接的选项。

最初,我们从当前推荐的 autoVerify="true" 方法开始。

<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="somefixedprefix.mainurl.de" /> </intent-filter>
适用于 Android 12+ 设备,但不适用于 Android 

< 11 due to links not being auto verified.

对于那些我们实现了另一个意图过滤器

<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="somecustomscheme" android:host="somefixedprefix.mainurl.de" /> </intent-filter>
然后在 Android 上运行 

< 12.

两者还处理 somecustomscheme://somefixedprefix.mainurl.de/someappendix 或

https://somefixedprefix.mainurl.de/someappendix

现在我的问题是我完全困惑: 在 Android 12+ 上,我仍然可以使用 somecustomscheme://somefixedprefix.mainurl.de/someappendix 从应用程序链接打开应用程序,而不会出现选择对话框来显示我要打开哪个应用程序的链接(当然,前提是没有具有在意图过滤器中定义的相同方案的其他应用程序)。

android intentfilter applinks android-app-links
1个回答
0
投票

为了解决您的困惑,让我们澄清一下 Android 中应用链接和自定义方案的行为,特别是对于 Android 12+:

    应用程序链接(带有 android:autoVerify="true" 的 https 方案) 在 Android 12+ 上,带有 android:autoVerify="true" 的应用链接将根据数字资产链接文件进行验证。如果域已验证,此表单 (https://...) 中的链接将直接在您的应用程序中打开,而不显示应用程序选择对话框。
  • 在 Android 上
  • < 12, app links are still supported, but the automatic verification (autoVerify="true") is not enforced. Instead, the user may need to explicitly set your app as the default for those links in system settings.

自定义方案 (somecustomscheme://)

    自定义方案 (somecustomscheme://...) 未通过数字资产链接进行验证。它们依赖于 Intent 过滤器,并且在所有 Android 版本中都以类似的方式工作。
  • 如果没有其他应用程序在其意图过滤器中声明相同的方案,则您的应用程序将在使用自定义方案时直接打开。
  • 如果多个应用程序声明相同的方案,则无论 Android 版本如何,都会出现应用程序选择对话框。

是的,您仍然可以使用 somecustomscheme://... 直接打开您的应用程序,前提是没有其他应用程序在其意图过滤器中声明了相同的方案。此行为在所有 Android 版本中都是一致的,包括 Android 12+。

© www.soinside.com 2019 - 2024. All rights reserved.