避免 activity 应用内深层链接的选择器提示

Avoid activity chooser prompt for in-app deeplinks

为了准备即时应用程序,我将我的应用程序分成多个模块,每个模块一个 activity。每个 activity 通过抛出目标 URL 的意图(与 class 名称相反)来启动另一个 activity。

这里的问题是 activity 选择器在每次 startActivity 调用后出现。用户可以 select "always" 每个 activity,但是为 25 个活动做,在应用程序内导航将是一个糟糕的体验。

我可以在清单中包含 autoVerify=true。这将有助于 API 23+ 级。但是有什么想法如何支持旧版本吗?在 SDK 21 之前支持 InstantApp,我的常规应用程序在 API 19.

您必须像这样将 DEFAULT 类别添加到您的意图过滤器中:

<intent-filter android:autoVerify="true">

       <action android:name="android.intent.action.VIEW" />
       <category android:name="android.intent.category.BROWSABLE" />
       <category android:name="android.intent.category.DEFAULT" />
       ...
</intent-filter>

有关更多上下文,请参阅 this sample