Когда требуется обновление версии Службы возврата isGooglePlayServicesAvailable?
согласно документации GooglePlayServicesUtil.isGooglePlayServicesAvailable возвращает SERVICE_VERSION_UPDATE_REQUIRED когда "установленная версия служб Google Play устарела".
означает ли это, что в play Маркете появилась новая версия сервисов google play?
Означает ли это, что приложение нуждается в более новой версии, чем та, которая в настоящее время установлена на устройстве?
Как это проверить сделано?
5 ответов
это означает, что версия службы Google play, которую вы включили в свое приложение, выше, чем версия, установленная на устройстве пользователей. пользователь должен обновить свои сервисы google play, чтобы ваше приложение работало правильно.
если результат возвращается с этой ошибкой, вы можете просто вызвать этот метод, чтобы предупредить пользователя, что им нужно обновить, и он доставит их туда.
GooglePlayServicesUtil.getErrorDialog(result, this, GOOGLE_PLAY_SERVICE_UPDATE_CODE).show();
result
результат isGooglePlayServicesAvailable
метод
вот документы для 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?
С сайт последнее обновление было включено декабря
означает ли это, что приложение нуждается в более новой версии, чем тот, который в настоящее время установлен в устройстве?
вы можете проверить, имеет ли устройство более высокую версию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
}
документация была обновлена, теперь понятно:
проверяет, что службы Google Play установлены и включены на этом устройство, и что версия, установленная на этом устройстве не старше одна требовали этого клиента.
обратите внимание, что все текущие ответы ссылаются на GooglePlayServicesUtil, который теперь устарел. См.GooglePlayServicesUtil vs GoogleApiAvailability подробнее о том, как выполнить проверку совместимости версий служб Google Play.