GooglePlayServicesAvailable何时返回SERVICE_VERSION_UPDATE_REQUIRED?

时间:2015-02-12 14:21:23

标签: android google-play-services

根据文档GooglePlayServicesUtil.isGooglePlayServicesAvailable返回SERVICE_VERSION_UPDATE_REQUIRED时,"已安装的Google Play服务版本已过期"。

这是否意味着Play商店中有新版本的google play服务?
这是否意味着应用程序需要比当前安装在设备中的版本更新的版本?

这项检查是如何完成的?

5 个答案:

答案 0 :(得分:11)

这意味着您在应用中添加的Google Play服务版本高于用户设备上当前安装的版本。用户需要更新其Google Play服务才能使您的应用正常运行。

如果结果返回错误,您可以简单地调用此方法来提醒用户他们需要更新,并将它们带到那里。

GooglePlayServicesUtil.getErrorDialog(result, this, GOOGLE_PLAY_SERVICE_UPDATE_CODE).show();

resultisGooglePlayServicesAvailable方法

的结果

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