根据文档GooglePlayServicesUtil.isGooglePlayServicesAvailable返回SERVICE_VERSION_UPDATE_REQUIRED时,"已安装的Google Play服务版本已过期"。
这是否意味着Play商店中有新版本的google play服务?
这是否意味着应用程序需要比当前安装在设备中的版本更新的版本?
这项检查是如何完成的?
答案 0 :(得分:11)
这意味着您在应用中添加的Google Play服务版本高于用户设备上当前安装的版本。用户需要更新其Google Play服务才能使您的应用正常运行。
如果结果返回错误,您可以简单地调用此方法来提醒用户他们需要更新,并将它们带到那里。
GooglePlayServicesUtil.getErrorDialog(result, this, GOOGLE_PLAY_SERVICE_UPDATE_CODE).show();
result
是isGooglePlayServicesAvailable
方法
答案 1 :(得分:6)
以下是GooglePlayServicesUtil
的文档: http://developer.android.com/reference/com/google/android/gms/common/GooglePlayServicesUtil.html。
以下是他们谈论“确保”用户安装它的地方: https://developer.android.com/google/play-services/setup.html#ensure
这取自官方Iosched 2014源代码: https://github.com/google/iosched/blob/0a90bf8e6b90e9226f8c15b34eb7b1e4bf6d632e/android/src/main/java/com/google/samples/apps/iosched/util/PlayServicesUtils.java
public class PlayServicesUtils {
public static boolean checkGooglePlaySevices(final Activity activity) {
final int googlePlayServicesCheck = GooglePlayServicesUtil.isGooglePlayServicesAvailable(activity);
switch (googlePlayServicesCheck) {
case ConnectionResult.SUCCESS:
return true;
case ConnectionResult.SERVICE_DISABLED:
case ConnectionResult.SERVICE_INVALID:
case ConnectionResult.SERVICE_MISSING:
case ConnectionResult.SERVICE_VERSION_UPDATE_REQUIRED:
Dialog dialog = GooglePlayServicesUtil.getErrorDialog(googlePlayServicesCheck, activity, 0);
dialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialogInterface) {
activity.finish();
}
});
dialog.show();
}
return false;
}
}
以下是在Activity
中使用它的方法: https://github.com/google/iosched/blob/cf1f30b4c752f275518384a9b71404ee501fc473/android/src/main/java/com/google/samples/apps/iosched/ui/BaseActivity.java
@Override
protected void onResume() {
super.onResume();
// Verifies the proper version of Google Play Services exists on the device.
PlayServicesUtils.checkGooglePlaySevices(this);
}
答案 2 :(得分:4)
这是否意味着Play商店中有新版本的google play服务?
site最新更新于 2014年12月
这是否意味着应用需要比设备中当前安装的版本更新的版本?
您可以检查设备的Google Play Service
版本是否高于应用中的版本,如下所示:
int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable( getApplicationContext() );
if(status == ConnectionResult.SUCCESS) {
//OK
}else if(status == ConnectionResult.SERVICE_VERSION_UPDATE_REQUIRED){
Toast.makeText(context,"please udpate your google play service",Toast.LENGTH_SHORT).show
}
答案 3 :(得分:1)
文档已更新,现在很清楚:
验证是否已安装并启用了Google Play服务 设备,此设备上安装的版本不超过 这个客户要求的那个。
答案 4 :(得分:0)
请注意,所有当前答案都引用了现已弃用的GooglePlayServicesUtil。有关如何执行Google Play服务版本兼容性检查的详细信息,请参阅GooglePlayServicesUtil vs GoogleApiAvailability。