以编程方式检查 android 设备是否有 Google 播放?

Programmatically check if android device has Google Play?

目前有些设备没有 Google Play(华为设备),如果设备没有,我有没有办法以编程方式检查?我想使用应用内更新功能:https://developer.android.com/guide/playcore/in-app-updates 并首先检查设备是否有 Google PlayStore。

到目前为止我已经尝试过:使用 Uri.parse("market://details?id=" + appPackageName) 但您需要先启动 activity 以确认它存在?我想知道有没有更好的方法。

您可以检查包com.android.vending是否存在

public static boolean isPackageInstalled(String packageName, PackageManager packageManager) {
    try {
        return packageManager.getApplicationInfo(packageName, 0).enabled;
    }
    catch (PackageManager.NameNotFoundException e) {
        return false;
    }
}

您可以在 activity

中这样做

if(isPackageInstalled("com.android.vending", getPackageManager())){ 

   // play store is installed

}else{ 

   // play store is installed

}

您可以使用以下代码查看android设备是否有Google播放:

boolean flag = GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(this) == com.google.android.gms.common.ConnectionResult.SUCCESS

如果flag == true,则设备中启用了 GMS。

如果flag == false,则GMS在设备中被禁用。