4

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

4

2 回答 2

4

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

如果我的理解是好的,那么在Chrome 浏览器的情况下,您应该在启动 url 之前使用 Chrome 浏览器的包设置 CustomTabIntent。

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));
}

有关详细信息,请查看:自定义 chrome 选项卡要求选择多个浏览器

于 2017-02-18T18:00:21.337 回答
0

如果上述答案不能解决您的问题,您可以偶尔添加“m”。为您的 URL 添加前缀以获取网站的移动版本。

在我的情况下,打开“ https://www.wikipedia.org ”总是会打开维基百科应用程序而不是自定义选项卡。一旦我将 URL 更改为“ https://en.m.wikipedia.org ”,该 URL 将始终在我的 Chrome 自定义选项卡中打开,即使用户导航到不同的页面,他们也永远不会离开我的应用程序。

于 2020-06-16T20:51:53.573 回答