以编程方式检查 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在设备中被禁用。
目前有些设备没有 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在设备中被禁用。