该应用程序具有活动来显示特定网站的内容,例如“example.com”。因此,为了在应用程序中显示“example.com/product/123”的内容,我有意图过滤器:
<activity
android:name=".LinkInterceptorActivity">
<intent-filter android:priority="999">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="www.example.com"
android:scheme="http" />
</intent-filter>
</activity>
但在某些情况下,我必须在浏览器中显示这些内容,所以我决定使用 chrome 自定义标签,以使其更快并让用户留在应用程序中。我尝试使用意图构建器在自定义选项卡中显示 url:
new CustomTabsIntent.Builder().build().launchUrl(activity, url);
但它向我显示了“使用...完成操作”对话框,我可以在其中看到我的应用程序和设备上的所有浏览器。如果我选择我的应用程序,它会跳入循环并再次显示对话框,但如果我选择 chrome,它会按预期工作。
所以问题是如何为 Chrome 自定义标签创建明确的 Intent?