Wenn ich mFirebaseAuth.signOut()
oder mFirebaseUser.delete()
anrufe, funktioniert% FirebaseAuth.AuthStateListener()
korrekt und gibt null
als FirebaseUser
in onAuthStateChanged
zurück. Ich aktualisiere die Benutzeroberfläche und zeige die Schaltfläche "Mit Google anmelden".
Aber wenn ich mich wieder einloggen möchte, sehe ich kein Pop-up mit Benutzern (ich habe 2 Benutzer auf meinem Gerät, das Bild angehängt). Die App zeigt dieses Pop-up nur bei der ersten Anmeldung an, danach verwendet es denselben Benutzer. Wenn ich die Daten der App auf dem Einstellungsbildschirm lösche, kann ich dieses Pop-up wieder sehen.
Meine Frage ist, wie man dieses Pop-up nach jedem Abmelden zeigt.
Ich führe diesen Code aus, wenn ich auf die Schaltfläche Anmelden klicke:
%Vor% In onActivityResult()
erhalte ich eine Instanz von GoogleSignInResult
, also passiert alles, was ich brauche, nachdem ich startActivityForResult()
aufgerufen habe.
In der Firebase Auth Quickstart-Beispielcode , die Abmeldung für Google-Anbieter umfasst diese Schritte. Rufen Sie Auth.GoogleSignInApi.signOut()
an, wenn Sie sich abmelden?
Für alle anderen, die dieses Ergebnis (wie beim Abrufen der Google-Kontooptionen) für eine andere Aktivität wünschen.
%Vor% Fügen Sie dies auf der Anmeldeseite hinzu, und bevor Sie zur nächsten Aktivität übergehen, rufen Sie einfach SignOut()
auf.
und dann können Sie in Ihrer anderen Klasse
anrufen %Vor%Es ist einfach und es wird funktionieren. Prost!
Eine andere Option ist die Verwendung der FirebaseUI -Bibliothek. Es vereinfacht das Anmelden und das Abmelden von Operationen in einem Sinne, dass es das ganze schwere Heben für Sie erledigen wird.
Kotlin
%Vor%Java
%Vor%Hoffe, das hilft
dieser Code wird geschrieben, um als Kopie zu arbeiten, lesen Sie einfach COMMENTS im Code, um es an Ihre Bedürfnisse anzupassen, ich bevorzuge es, Benutzer zur Anmeldung
zu sendenTags und Links android firebase firebase-authentication google-play-services