是否可以使 Chrome CustomTabs 意图不打开外部应用程序?

Is it possible to make a Chrome CustomTabs intent not open an external application?

我希望 Chrome 自定义选项卡始终打开 Chrome 自定义选项卡中的 url。即使有一个意图可以去的外部应用程序。现在,系统会提示用户是否要在 Chrome 或外部应用程序中打开。是否可以强制意图通过Chrome?我知道 WebView 可以工作,但 CustomTab 有更多功能...

这个问题我不是很清楚。我想您想说您希望始终在 Chrome 自定义选项卡中打开 url,而不显示 Chrome 或任何外部应用程序的选择对话框。

如果我的理解没问题,那么在 Chrome 浏览器 的情况下,您应该在启动前使用 Chrome 浏览器的包设置 CustomTabIntent url.

private void launchURL(String url) {
    CustomTabsIntent.Builder builderCustomTabs = new CustomTabsIntent.Builder();
    CustomTabsIntent intentCustomTabs = builderCustomTabs.build();
    intentCustomTabs.intent.setPackage("com.android.chrome");
    intentCustomTabs.intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    intentCustomTabs.launchUrl(this, Uri.parse(url));
}

详情请查看:

如果上述答案未能解决您的问题,您可以偶尔将 "m." 前缀添加到您的 URL 以获取网站的移动版本。

在我的情况下,打开“https://www.wikipedia.org" would always open the Wikipedia app and not a custom tab. Once I changed the URL to "https://en.m.wikipedia.org”,URL 将始终在我的 Chrome 自定义选项卡中打开,即使用户导航到不同的页面,他们也永远不会离开我的应用