GooglePlayServicesAvailable何时会返回SERVICE_VERSION_UPDATE_REQUIRED?

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

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

这个检查是如何完成的?

Solutions Collecting From Web of "GooglePlayServicesAvailable何时会返回SERVICE_VERSION_UPDATE_REQUIRED?"

这意味着您的应用中包含的Google Play服务版本高于用户设备上当前安装的版本。 用户需要更新他们的谷歌播放服务按顺序为您的应用程序正常工作。

如果结果出现这个错误,你可以简单的调用这个方法来提醒用户他们需要更新,并且会把它们带到那里。

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

resultisGooglePlayServicesAvailable方法的结果

以下是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); } 

这是否意味着在Play商店中有一个新版本的Google Play服务?

该网站最新更新是在201412月

这是否意味着应用程序需要比当前安装在设备上的版本更新的版本?

您可以检查设备的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 } 

请注意,所有当前的答案都参考了现在已弃用的GooglePlayServicesUtil。 有关如何执行Google Play服务版本兼容性检查的详细信息,请参阅GooglePlayServicesUtil vs GoogleApiAvailability 。

文档已更新,现在很明显:

validation在此设备上安装并启用了Google Play服务,并且此设备上安装的版本不比此客户端要求的版本旧