Подтвердить что ты не робот

Когда isGooglePlayServicesAvailable возвращает SERVICE_VERSION_UPDATE_REQUIRED?

В соответствии с документацией GooglePlayServicesUtil.isGooglePlayServicesAvailable возвращает SERVICE_VERSION_UPDATE_REQUIRED когда "Установленная версия служб Google Play устарела".

Означает ли это, что в игровом магазине есть новая версия сервисов google play?
Означает ли это, что для приложения требуется более новая версия, чем версия, установленная на этом устройстве?

Как выполняется эта проверка?

4b9b3361

Ответ 1

Документация обновлена, теперь ясно:

Проверяет, что службы Google Play установлены и включены устройства, а версия, установленная на этом устройстве, не старше тот, который требуется для этого клиента.

Ответ 2

это означает, что версия сервиса google play, включенная в ваше приложение, выше, чем версия, установленная на устройстве пользователя. пользователь должен обновить свои сервисы Google Play, чтобы ваше приложение работало правильно.

если результат возвращается с этой ошибкой, вы можете просто вызвать этот метод, чтобы предупредить пользователя, которого они должны обновить, и он будет там.

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

result является результатом метода isGooglePlayServicesAvailable

Ответ 3

Вот документы для 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);
}

Ответ 4

Означает ли это, что в магазине воспроизведения есть новая версия сервисов Google Play?

Из сайта последнее обновление было в декабре 2014 года.

Означает ли это, что для приложения требуется более новая версия, чем версия, установленная на этом устройстве?

Вы можете проверить, имеет ли устройство более высокую версию 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
}

Ответ 5

Обратите внимание, что все текущие ответы ссылаются на GooglePlayServicesUtil, который теперь устарел. Подробнее о том, как выполнить проверку совместимости версий Google Play Services, см. GooglePlayServicesUtil vs GoogleApiAvailability.