2016-03-03 5 views
7

Ich verwende das neue GoogleSignInApi, das in Play Services 8.3 eingeführt wurde. Es merkt sich das zuletzt ausgewählte Konto und zeigt ab dem 2. Mal keine Kontoauswahl mehr an. Aber ich möchte, dass Benutzer jedes Mal ein Konto auswählen können. Sieht so aus, als ob die Methode clearDefaultAccountAndReconnect() von GoogleApiClient nicht mit googleSignInApi verwendet werden darf. Gibt es eine Möglichkeit, dies zu erreichen, ohne eine benutzerdefinierte Kontoauswahl zu implementieren? Ich bin auf Play Services 8.3 und Google Services 1.5.0.Zeige Kontoauswahl jedes Mal mit GoogleSignInApi

+0

Versuchen SignOut nennen? https://developers.google.com/android/reference/com/google/android/gms/auth/api/signin/GoogleSignInApi#signOut(com.google.android.gms.common.api.GoogleApiClient) –

+0

AH! Das hat funktioniert. Danke: D – gitter

+1

Ich bekomme 'GoogleApiClient ist nicht verbunden' Fehler. Ich habe versucht, zuerst 'connect()' aufzurufen, funktioniert aber nicht. Irgendein Rat? Können Sie ein Beispiel zeigen, wie haben Sie es erreicht? Vielen Dank – Gonzalo

Antwort

7

Die Kontoauswahl wird zwischengespeichert, daher müssen Sie zuerst signOut aufrufen.

7

Anruf SignOut auf GoogleApiClinet.

Wo immer Sie diesen Code

Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient); 

schreiben Dieser Code vor, dass anrufen.

Auth.GoogleSignInApi.signOut(mGoogleApiClient); 

So wird Ihre neue Code sieht Linie

Auth.GoogleSignInApi.signOut(mGoogleApiClient); 
Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient); 
startActivityForResult(signInIntent, RC_SIGN_IN); 

Jetzt wird es Pop-up öffnen wieder & wieder

+0

kurz und gut –

+0

Stellen Sie sicher, dass Sie eine Verbindung herstellen mGoogleApiClient vor dem Aufruf von signOut. Andernfalls erhalten Sie 'java.lang.IllegalStateException: GoogleApiClient ist noch nicht verbunden' – RustamG