当设备中安装了多个浏览器并且用户将其他浏览器设置为默认浏览器而不是chrome浏览器时,如何加载chrome自定义标签?

时间:2019-04-23 05:23:15

标签: android google-chrome browser chrome-custom-tabs

我正在开发一个Android应用程序,因为我需要将所有的Web URL加载到chrome自定义标签中,但是当用户在其设备上安装多个浏览器并将它们设置为默认浏览器而不是chrome浏览器时,我遇到了一个问题如果Chrome标签页没有打开。

我正在关注本文档和示例。 https://developer.chrome.com/multidevice/android/customtabs https://github.com/GoogleChrome/custom-tabs-client

2 个答案:

答案 0 :(得分:1)

尝试一下

public static void CustomTab(Activity activity,
                             Uri uri) {
// It returns the chrome package name 
String packageName = CustomTabsHelper.getPackageNameToUse(activity, mUrl);

CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
mCustomTabsIntent = builder
        .setShowTitle(true)
        .build();
builder.setToolbarColor(ContextCompat.getColor(activity, R.color.colorPrimary));

if ( packageName != null ) {
    mCustomTabsIntent.intent.setPackage(packageName);
}
mCustomTabsIntent.launchUrl(activity, uri);
}

如果用户安装了chrome,它将直接打开

答案 1 :(得分:0)

您可以将Google Chrome程序包添加到customTabsIntent:

    CustomTabsIntent tabsIntent = new CustomTabsIntent.Builder().build();
    tabsIntent.intent.setPackage("com.android.chrome");
    tabsIntent.launchUrl(context, Uri.parse(YOUR_URL));