检测已安装的播放服务并播放应用中使用的服务

时间:2017-02-02 14:47:58

标签: android firebase google-play-services

我有什么

我的应用严重依赖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?

或者有不同的(或更好的)方法吗?

2 个答案:

答案 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