我拥有的
我有一个应用程序严重依赖 Google Play 服务(对于 Firebase),所以我需要用户的设备安装 Play 服务。更重要的是,设备中安装的 Play 服务版本应等于或高于我在应用程序中使用的 Play 服务版本。
我想要的是
如果用户使用的是我在应用程序中定位的旧 Play 服务版本,我想在应用程序的启动屏幕中显示一条消息(可能是对话框或小吃栏)。
就像目前一样,我在应用程序中使用的 Play Services 版本是 10.0.1。这显然是版本名称。
我知道我能做到这一点
int v = getPackageManager().getPackageInfo("com.google.android.gms", 0 ).versionName;
但我无法比较设备中安装的 Play 服务的版本和我正在使用的 Play 服务的版本?我应该使用 versionCode 而不是 versionName 来执行此操作吗?如果是这样,我如何知道我正在使用的 Play 服务的版本代码?
或者有不同的(或更好的)方法来做到这一点?
这是我使用的方法..干杯
public static boolean checkPlayServices(Context context) {
final int PLAY_SERVICES_RESOLUTION_REQUEST = 9000;
GoogleApiAvailability api = GoogleApiAvailability.getInstance();
int resultCode = api.isGooglePlayServicesAvailable(context);
if (resultCode != ConnectionResult.SUCCESS) {
if (api.isUserResolvableError(resultCode))
api.getErrorDialog(((Activity) context), resultCode, PLAY_SERVICES_RESOLUTION_REQUEST).show();
else {
showToast(context, "This device is not supported.", true);
((Activity) context).finish();
}
return false;
}
return true;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)