2016-06-10 11 views
16

Ich benutze Firebase Android SDK v.9.0.2 und kann nicht über die Registrierung für jetzt. Ich füge einen Auth State Listener hinzu und entferne ihn bei erfolgreicher Registrierung. Aber es wird mehrmals aufgerufen. Das ist, was ich in meinen Logs bekommen:Android Firebase Auth Zustand Hörer rief mehrmals

D/FirebaseAuth: Notifying listeners about a sign-out event. 
D/FirebaseApp: Notifying auth state listeners. 
D/FirebaseApp: Notified 0 auth state listeners. 
D/ActivityRegister: auth listener called 
D/FirebaseAuth: Notifying listeners about user (bwVX8jBbZvYcIj28hYsGZCcbzxi1). 
D/FirebaseApp: Notifying auth state listeners. 
D/FirebaseApp: Notified 0 auth state listeners. 
D/ActivityRegister: auth listener called 
D/FirebaseAuth: Notifying listeners about user (bwVX8jBbZvYcIj28hYsGZCcbzxi1). 
D/FirebaseApp: Notifying auth state listeners. 
D/FirebaseApp: Notified 1 auth state listeners. 

Das "D/ActivityRegister: Auth Hörer als" log innerhalb des Zuhörers ist iteself. Wie Sie sehen können, wenn Firebase 0 Listener benachrichtigt, wird es tatsächlich aufgerufen. Und wenn es einen Listener anzeigt, wird der Listener überhaupt nicht aufgerufen. Gibt es eine Problemumgehung dafür?

+0

Ich habe das gleiche Problem und keine Lösung noch gefunden werden. – Alireza

+0

Ich habe gerade um Hilfe von den technischen Support von Firebase gebeten und auf jede Hilfe gewartet. Wenn irgendwelche erhalten, würde ich mit Ihnen teilen. – Alireza

+0

Ich habe eine E-Mail vom technischen Support von Firebase erhalten. Sie sagen, dass sie bereits über dieses Problem Bescheid wissen und wir müssen auf einen Bugfix warten. – Alireza

Antwort

1

Sie finden, wenn diese Methode hier ausgelöst wird:

Firebase Reference - AuthStateListener

ich diese Funktion Trigger-Griff mit einem switch und verwenden Sie nur den "Login_Attempt" und "Register_Attempt" (zu Bestätigungs-E-Mail senden) Fälle ignorieren den Rest von ihnen. Erstellen Sie einfach eine String Variable (und das heißt, wenn der Benutzer clics sign_in Taste, legen Sie es als „Login_Attempt“)

BR