Google+ Войти для Android - Коды результатов действий разрешений Google

Я обнаружил небольшую проблему при работе с Google+ Sign для Android и после поиска в Интернете (и, конечно, ТАК), я задаю свой вопрос вслух, чтобы узнать, заметил ли кто-либо то же самое.

Я включаю серверный доступ к API для моего приложения, как описаноВот. Позвольте мне быть подробно о том, что происходит. Возьми этот фрагмент:

Bundle appActivities = new Bundle();
appActivities.putString(GoogleAuthUtil.KEY_REQUEST_VISIBLE_ACTIVITIES,
          "<APP-ACTIVITY1> <APP-ACTIVITY2>");
String scopes = "oauth2:server:client_id:<SERVER-CLIENT-ID>:api_scope:<SCOPE1> <SCOPE2>";
String code = null;
try {
  code = GoogleAuthUtil.getToken(
      this,                                              // Context context
      Plus.AccountApi.getAccountName(mGoogleApiClient),  // String accountName
      scopes,                                            // String scope
      appActivities                                      // Bundle bundle
  );

} catch (IOException transientEx) {
  // network or server error, the call is expected to succeed if you try again later.
  // Don't attempt to call again immediately - the request is likely to
  // fail, you'll hit quotas or back-off.
  ...
  return;
} catch (UserRecoverableAuthException e) {
  // Requesting an authorization code will always throw
  // UserRecoverableAuthException on the first call to GoogleAuthUtil.getToken
  // because the user must consent to offline access to their data.  After
  // consent is granted control is returned to your activity in onActivityResult
  // and the second call to GoogleAuthUtil.getToken will succeed.
  startActivityForResult(e.getIntent(), AUTH_CODE_REQUEST_CODE);
  return;
} catch (GoogleAuthException authEx) {
  // Failure. The call is not expected to ever succeed so it should not be
  // retried.
  ...
  return;
} catch (Exception e) {
  throw new RuntimeException(e);
}

УвидетьUserRecoverableAuthException а это комментарий? Ну, вот о чем я хочу поговорить с тобой. В этом случае, как вы можете видеть, запускается другое действие и начинается поток, в котором вы должны принять разрешения, запрашиваемые приложением. Как вы можете видетьstartActivityForResult метод используется. Я заметил, чтоActivity.RESULT_OK возвращается, когда пользователи принимают разрешения, ноActivity.RESULT_CANCELED возвращается как при возникновении ошибки / сбоя, так и когда пользователь просто отказывается дать разрешение и отменяет поток.

Итак, вот (ДА, НАКОНЕЦ!) Мой вопрос ... Как я могу отличить один случай (ошибка / сбой) от другого (возможный поток пользователя)?

Ответы на вопрос(1)

Ваш ответ на вопрос