Usługi Google Play Game: dziwne zachowanie podczas logowania

Ostatnio dodałem obsługę Google Play Game Services w mojej aplikacji (dodano BaseGameActivity i GameHelper), a proces logowania i wylogowywania działał bez zarzutu. W moim wątku graficznym wysyłam wiadomość do głównego modułu obsługi aktywności, wywołuje beginUserInitiatedSignIn lub signOut. Po zakończeniu procesu identyfikacji Helper Gry wywołuje onSignInFailed lub onSignInSucceeded mojej aktywności i mogę sprawdzić isSignedIn (true, jeśli onSignInSucceeded zostało wywołane).

Ale dziś odkryłem, że teraz zachowuje się dziwnie. Niestety, nie wykonałem kopii zapasowej ostatniej działającej wersji, ale kod essense jest taki sam.

Jeśli poproszę aplikację o zalogowanie się, wyświetli okno dialogowe logowania do usług Google (mam 2 konta na moim urządzeniu). Wybieram konto, naciśnij OK, wraca do mojej aplikacji, ale nie jest wywoływane ani onSignInSucceeded, ani onSignInFailed (wcześniej, jeśli anulowałem to okno dialogowe, zobaczyłem komunikat „nieznany błąd”). Kiedy próbuję się zalogować po raz drugi, uruchamia obracający się okrąg i czeka bez końca. Jeśli dotknę ekranu, przerwie oczekiwanie i wróci do mojego widoku.

Mimo, że jeśli zamknę aplikację i uruchomię ją ponownie, zaloguje się ona z powodzeniem, zadzwoń na SignSucceded i pozostań w kontakcie podczas sprawdzania w czasie wykonywania. To mówi:

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!

Jeśli wyloguję się i spróbuję zalogować ponownie, wyświetli okno dialogowe kont i napisze:

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.

Kiedy wybieram konto, wraca do mojej aktywności i nie jest wywoływane ani onSignInSucceeded, ani onSignInFailed. Jeśli sprawdzę w czasie wykonywania, widzę, że aplikacja nie jest połączona z usługami google. Kiedy próbuję się ponownie zalogować, pokazuje on na zawsze obracający się krąg i mówi:

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. 

Kiedy stukam ekran, koło jest przerywane bez wywołania onSignInSucceeded ani onSignInFailed i tak dalej.

Nie mogę sobie wyobrazić, co poszło nie tak. Handler jest tworzony w głównym wątku. Mam przykład Google, który loguje się i wylogowuje bez problemu, tak jak moja aplikacja. Czy ktoś może powiedzieć, co może być nie tak? Dzięki!

questionAnswers(1)

yourAnswerToTheQuestion