Вход в Google, как правильно обрабатывать ошибку, если пользователю необходимо снова войти в аккаунт - PullRequest
0 голосов
/ 09 февраля 2019
  • Я работаю над реализацией регистрации Google в моем приложении.Сама регистрация работает правильно, но я запутался, потому что не могу найти способ справиться со следующей ошибкой.
  • Пользователь сохранил учетную запись Google в своем телефоне.Эта учетная запись появляется во всплывающем окне выбора учетной записи Google и может быть использована для регистрации.Ошибка произойдет, если я изменю пароль учетной записи Google и больше не буду входить в свой телефон.Теперь, когда я пытаюсь использовать учетную запись Google, я получаю сообщение об ошибке со следующим статусом:

googleSignInStatus = Status {statusCode = неизвестный код состояния: 12501, resolution = ноль}

Снимок экрана с всплывающим окном: 1

override fun onCreate(savedInstanceState: Bundle?) {    
val gso = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .requestServerAuthCode(getString(R.string.server_client_id))
            .build()

mGoogleApiClient = GoogleApiClient.Builder(this)
            .enableAutoManage(this, this)
            .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
            .build()

mGoogleApiClient?.registerConnectionFailedListener(this)
} //Code that is used to init sign in client

public override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent) {
    super.onActivityResult(requestCode, resultCode, data)
    if (requestCode == RC_SIGN_IN) {
        val result = Auth.GoogleSignInApi.getSignInResultFromIntent(data)
        Timber.tag("TRY_TO_HANDLE").d(data.extras?.toString())
        Timber.tag("TRY_TO_HANDLE").d(result.status.toString())
        Timber.tag("TRY_TO_HANDLE").d(result.status.statusMessage)
}} //Code that handle result
  //googleSignInStatus=
       Status{statusCode=unknown status code: 12501, resolution=null}
  • Я хочу устранить ошибку и показать экран входа в Google, чтобы пользователь вошел в свой аккаунти смогу использовать его в своем приложении для регистрации.
  • Я изучил официальную документацию, но ничего не нашел.Я думаю, что это возможно, потому что некоторые приложения, которые поддерживают Google, работают таким же образом (например, приложение AliExpress).
  • Может кто-нибудь объяснить мне, как это реализовать?

1 Ответ

0 голосов
/ 09 февраля 2019

вы пытались удалить учетную запись и повторить попытку регистрации, используя.

mClient.clearDefaultAccountAndReconnect()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...