Android 多次调用 firebase 身份验证状态侦听器

Android firebase auth state listener called multiple times

我正在使用 Firebase android sdk v.9.0.2,目前无法通过注册。我正在添加一个身份验证状态侦听器并在成功注册后将其删除。然而它被多次调用。这就是我在日志中得到的内容:

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.

"D/ActivityRegister: auth listener called" 日志在侦听器本身内。可以看到,当 Firebase 通知 0 个监听器时,它实际上被调用了。当它显示 1 个听众时,听众根本不会被调用。 有什么解决方法吗?

预计不会修复。那个封闭的问题。 https://github.com/firebase/quickstart-android/issues/80

您可以在此处找到何时触发此方法:

Firebase Reference - AuthStateListener

我用 switch 处理这个函数触发器,只使用 "Login_Attempt""Register_Attempt"(发送验证电子邮件)忽略其余案例。只需创建一个 String 变量(即当用户点击 Sign_In 按钮时,将其设置为 "Login_Attempt"

BR