Сервисы Google Play: странное поведение при входе

Недавно яМы добавили поддержку Google Play Game Services в мое приложение (добавили BaseGameActivity и GameHelper), и процесс входа и выхода работал нормально. В моем графическом потоке я отправляю сообщение в основной обработчик активности, он вызывает beginUserInitiatedSignIn или signOut. Когда процесс идентификации завершается, Game Helper вызывает mySignInFailed или onSignInSucceeded из моей активности, и я могу проверить isSignedIn (true, если вызывался onSignInSucceeded).

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

Если я прошу приложение войти в систему, отображается диалоговое окно входа в службы Google (на моем устройстве 2 учетных записи). Я выбираю учетную запись, нажимаю ОК, она возвращается в мое приложение, но не вызывается ни onSignInSucceeded, ни onSignInFailed (ранее, если я отменял это диалоговое окно, я видел "неизвестная ошибка" сообщение). Когда я пытаюсь войти во второй раз, он запускает вращающийся круг и ждет бесконечно. Если я нажимаю на экран, он прерывает ожидание и возвращается к своему виду.

Хотя я закрываю приложение и запускаю его снова, оно успешно запускается при входе в систему, вызывает onSignSucceded и остается подключенным, когда я проверяю среду выполнения. Это говорит:

onCreate: creating GamesClient
onStart.
onStart: connecting clients.
Connecting GamesClient.
onConnected: connected! client=1
All clients now connected. Sign-in successful.
All requested clients connected. Sign-in succeeded!

Если я выйду из системы, а затем снова попытаюсь войти, появится диалоговое окно учетных записей и появится сообщение:

isGooglePlayServicesAvailable returned 0
beginUserInitiatedSignIn: starting new sign-in flow.
Connecting GamesClient.
onConnectionFailed: result 4
onConnectionFailed: since user initiated sign-in, trying to resolve problem.
resolveConnectionResult: trying to resolve result: ConnectionResult{statusCode=SIGN_IN_REQUIRED, resolution=PendingIntent{41f8a610: android.os.BinderProxy@41f8a5b0}}
result has resolution. Starting it.

Когда я выбираю аккаунт, он возвращается к моей деятельности, и не вызывается ни onSignInSucceeded, ни onSignInFailed. Если я проверяю во время выполнения, я вижу, что приложение не подключено к службам Google. Когда я пытаюсь войти снова, он показывает постоянно вращающийся круг и говорит:

isGooglePlayServicesAvailable returned 0
beginUserInitiatedSignIn: continuing pending sign-in flow.
resolveConnectionResult: trying to resolve result: ConnectionResult{statusCode=SIGN_IN_REQUIRED, resolution=PendingIntent{41f8a610: android.os.BinderProxy@41f8a5b0}}
result has resolution. Starting it. 

Когда я нажимаю на экран, кружок прерывается без вызовов ни onSignInSucceeded, ни onSignInFailed и так далее.

Я могу'не представляю, что пошло не так. Обработчик создается в главном потоке. У меня есть пример Google, и он без проблем выполняет вход и выход, как и мое приложение. Может кто-нибудь сказать, что может быть не так? Спасибо!

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

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