目前有一些设备没有安装Google Play(如华为设备),有没有方法可以通过程序检查设备是否安装了Google Play?我想使用应用内更新功能: https://developer.android.com/guide/playcore/in-app-updates 并且先检查设备是否安装了Google Play商店。
目前我尝试使用Uri.parse("market://details?id=" + appPackageName)
,但需要先启动活动来确认其存在,有更好的方式吗?
目前有一些设备没有安装Google Play(如华为设备),有没有方法可以通过程序检查设备是否安装了Google Play?我想使用应用内更新功能: https://developer.android.com/guide/playcore/in-app-updates 并且先检查设备是否安装了Google Play商店。
目前我尝试使用Uri.parse("market://details?id=" + appPackageName)
,但需要先启动活动来确认其存在,有更好的方式吗?
您可以使用以下代码来检查安卓设备是否有Google Play:
boolean flag = GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(this) == com.google.android.gms.common.ConnectionResult.SUCCESS
flag == true
,那么设备启用了GMS。flag == false
,那么设备禁用了GMS。您可以检查包com.android.vending
是否存在
public static boolean isPackageInstalled(String packageName, PackageManager packageManager) {
try {
return packageManager.getApplicationInfo(packageName, 0).enabled;
}
catch (PackageManager.NameNotFoundException e) {
return false;
}
}
在您的活动中,您可以这样做:
if(isPackageInstalled("com.android.vending", getPackageManager())){
// play store is installed
}else{
// play store is not installed
}