2016-07-03 33 views

回答

0

public void bindCustomTabsService(Activity activity) { 
    if (mClient != null) return; 

    String packageName = CustomTabsHelper.getPackageNameToUse(activity); 
    if (packageName == null) return; 

    mConnection = new ServiceConnection(this); 
    CustomTabsClient.bindCustomTabsService(activity, packageName, mConnection); 
} 

您可以检查是否“的packageName”为空

0

我用下面的代码为我自己的目的来检查Chrome版本与是否安装了铬。希望它会有所帮助,你应该尝试。

String chromePackageName = "com.android.chrome"; 
int chromeTargetVersion = 45; 

boolean isSupportCustomTab = false; 

try { 
    PackageManager pm = getApplicationContext().getPackageManager(); 
    List<PackageInfo> list = pm.getInstalledPackages(PackageManager.MATCH_DEFAULT_ONLY); 
    if (list != null && 0 < list.size()) { 
     for (PackageInfo info : list) { 
      if (chromePackageName.equals(info.packageName)) { 

       String chromeVersion = pm.getPackageInfo(chromePackageName, 0).versionName; 
       if(chromeVersion.contains(".")) { 
        chromeVersion = chromeVersion.substring(0, chromeVersion.indexOf('.')); 
       } 
       isSupportCustomTab = (Integer.valueOf(chromeVersion) >= chromeTargetVersion); 

       break; 
      } 
     } 
    } 
} catch (Exception ex) {} 

if (isSupportCustomTab) { 
    //Use Chrome Custom Tab 
} else { 
    //Use WebView 
} 
相关问题