我有什么
我的应用严重依赖Google Play服务(适用于Firebase),因此我需要用户的设备安装Play服务。更重要的是,设备中安装的Play服务版本应该等于或高于我在我的应用中使用的Play服务。
我想要什么
如果用户使用我在我的应用中定位的旧版Play Services版本,我想在我的应用的启动画面中显示一条消息(可能是对话框或小吃吧)。
与目前一样,我在我的应用中使用的Play服务版本是10.0.1。这显然是版本名称。
我知道我可以做到这一点,
int v = getPackageManager().getPackageInfo("com.google.android.gms", 0 ).versionName;
但我无法比较设备中安装的Play服务版本和我正在使用的Play服务?我应该使用versionCode而不是versionName吗?如果是这样,我如何知道我正在使用的Play服务的versionCode? p>
或者有不同的(或更好的)方法吗?
答案 0 :(得分:10)
这是我使用的方法..欢呼
job_history
答案 1 :(得分:1)
Usman的答案很好,另外,如果结果代码不成功,您可以调用GoogleApiAvailability.makeGooglePlayServicesAvailable()。像这样:
int resultCode = GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(this);
if (resultCode != ConnectionResult.SUCCESS) {
GoogleApiAvailability.getInstance().makeGooglePlayServicesAvailable(this);
}
有关此处文档中提供的结果代码等的更多详细信息:https://developers.google.com/android/reference/com/google/android/gms/common/GoogleApiAvailability