2013-11-30 1 views
0

Мое приложение вылетает, если на устройстве не установлены «Службы Google Play» или «Google Play Services» не обновлен. Я хочу направить пользователя на страницу загрузки «Службы Google Play», если у него нет Play Services, установленного на его устройстве. Я применил исключение, но что я должен положить в блок catch? Я имею в виду, как направить пользователя на страницу загрузки Служб Службы?Как направить пользователя на страницу загрузки «Службы Google Play»

ответ

4

Позвоните GooglePlayServicesUtil.isGooglePlayServicesAvailable(this), чтобы получить status. Если статус не ConnectionResult.SUCCESS, звоните GooglePlayServicesUtil.isUserRecoverableError(status) - если это возвращает true, вы должны иметь возможность использовать GooglePlayServicesUtil.getErrorDialog(), чтобы отобразить диалоговое окно, которое приведет пользователя к загрузке платформы сервисов.

+0

спасибо за ваш ответ. теперь я могу показать диалог, в котором говорится, что Play Services не установлен. но нажатие кнопки «ok» диалога просто возвращает меня в мое приложение, а не на страницу загрузки игровых сервисов. – user2755646

+0

@ user2755646: Если в этом диалоговом окне нет опции, позволяющей пользователю загружать платформу служб воспроизведения, то в оценке Google нет способа получить платформу служб воспроизведения на этом устройстве. Например, если на устройстве нет Play Маркета или Android Market, у пользователя нет законного доступа к платформе Play Services. – CommonsWare

+0

выяснили решение. большое вам спасибо за вашу помощь. – user2755646

1

Я думаю, что уже поздно ответить на это, но это может помочь другим людям.

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

public static boolean checkPlayServices(Activity activity) { 
    GoogleApiAvailability apiAvailability = GoogleApiAvailability.getInstance(); 
    int resultCode = apiAvailability.isGooglePlayServicesAvailable(activity); 
    if (resultCode != ConnectionResult.SUCCESS) { 
     Log.e("GooglePlayServices", "Google play services not working."); 
     if (apiAvailability.isUserResolvableError(resultCode)) { 
      apiAvailability.getErrorDialog(activity, resultCode, 9000) 
        .show(); 
     } else { 
      Log.e("GooglePlayServices", "GCM - This device is not supported."); 
     } 
     return false; 
    } 
    return true; 
} 

Надеется, что это помогает кто-то :)

Смежные вопросы