странное предупреждение об уведомлении при попытке войти в систему с помощью учетной записи Google в Android

Я новичок в Google SDK и пытаюсь внедрить кнопку входа в Google в своем приложении, чтобы пользователи могли входить в систему со своими учетными записями Google. Я добавил SignInButton и обработал базовую аутентификацию с помощью объекта PlusClient. Я также использую AsyncTask для получения токена аутентификации от GoogleAuthUtil. как только я успешно получаю токен, я вызываю LoginActivity.finish() и разрешаю доступ к моему приложению.

Когда я нажимаю SignInButton, я получаю следующее:

  1. предлагает окно для выбора между моими учетными записями Google.
  2. Экран разрешений с просьбой подтвердить, что это приложение хочет знать ваше имя, основную информацию и т. д., на что я нажимаю «ОК».
  3. странный значок предупреждения об уведомлении (треугольник с восклицательным знаком внутри), который говорит «запрос на вход»
  4. после нажатия на уведомление я вижу быстрый экран «вход в систему» ​​в течение нескольких секунд, а затем возвращаюсь к шагу 2, на который я снова нажимаю «ОК».
  5. повторное нажатие на кнопку входа приводит к успешному входу в систему.

Этот поток явно не такой, каким должен быть, поэтому мои вопросы:

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

Использование Android SDK версии 4.2 с Play Services SDK версии 10

ИЗМЕНИТЬ

Хорошо, такой глупый вопрос, но я еще не все понял. Оказывается, я использовал GoogleAuthUtil.getTokenWithNotification, который отправляет push-уведомление, если метод не работает с восстанавливаемым действием. Поэтому я изменил его обратно на GoogleAuthUtil.getToken и теперь восстанавливаю его программно, что лучше. Но я все еще получаю экран вмешательства, один раз, когда я звоню result.startResolutionForResult внутри onConnectionFailed(ConnectionResult result), когда пытаюсь подключиться, и второй раз после звонка startActivityForResult при звонке GoogleAuthUtil.getToken. Это до сих пор загадка...

ИЗМЕНИТЬ 2

Первый вопрос (на второй дан ответ выше)) о повторных разрешениях, запрашиваемых у пользователя, обсуждается в здесь


person OferM    schedule 22.08.2013    source источник