【问题标题】:Android firebase auth state listener called multiple times多次调用Android firebase auth状态监听器
【发布时间】:2016-10-11 01:47:29
【问题描述】:

我正在使用 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 个侦听器时,根本不会调用该侦听器。 有什么解决方法吗?

【问题讨论】:

  • 我也遇到了同样的问题,还没找到解决办法。
  • 我刚刚向 Firebase 的技术支持寻求帮助,正在等待任何帮助。如果收到,我会与您分享。
  • 我收到了一封来自 Firebase 技术支持的电子邮件。他们说已经知道这个问题,我们必须等待错误修复。
  • 谢谢。现在我在不需要时删除侦听器作为一种解决方法来触发其他代码并在该代码失败时重新添加侦听器。
  • 有同样的问题。等待修复。

标签: android firebase firebase-authentication


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    Firebase Reference - AuthStateListener

    我使用switch 处理此函数触发器,并且只使用 "Login_Attempt" 和 "Register_Attempt"(发送验证电子邮件)案例,忽略其余案例.只需创建一个String 变量(即当用户单击登录按钮时,将其设置为“Login_Attempt”)

    BR

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-10
      • 1970-01-01
      • 1970-01-01
      • 2017-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-24
      相关资源
      最近更新 更多