【问题标题】:I can't getcurrentuser from firebase auth我无法从 firebase auth 获取当前用户
【发布时间】:2020-08-05 00:18:19
【问题描述】:
  Handler().postDelayed({
        FirebaseAuth.AuthStateListener { auth ->
            val user = auth.currentUser
            if(user != null) {
                startProfileActivity()
            } else {
                startLoginActivity()
            }
        }
    },1500)

我已使用 firebase 在初始屏幕中进行自动身份验证,以检查用户是否已经登录。但是,我从调试器中发现我无法从 firebase 获取 currentUser。日志也没有提供任何细节。谁能帮帮我?

【问题讨论】:

  • 在 Stack Overflow 上,不要发布代码图片。您应该将代码复制到问题本身并对其进行格式化,以便于阅读、复制和搜索。
  • 您可以使用标签下方的编辑链接来编辑问题。

标签: android firebase firebase-authentication


【解决方案1】:

身份验证状态侦听器不是您可以运行以获取当前用户的函数,因为您现在正在使用它。它是一个异步接收有关用户登录状态更新的侦听器。当已知用户登录或退出时,侦听器将触发。

您使用addAuthStateListener 添加 AuthStateListener 实例,然后在完成后使用removeAuthStateListener 删除该实例。

您可以检查用户是否在给定时刻使用FirebaseAuth.getInstance().currentUser 登录,但这可能会随着时间的推移而改变,并且在应用启动时它不会立即反映当前用户的状态。

【讨论】:

  • 非常感谢您的解释。那么,如果我想实现这种用例,firebase 的哪种服务可以支持这种用例?
猜你喜欢
  • 2018-03-17
  • 1970-01-01
  • 2019-07-10
  • 1970-01-01
  • 2017-12-14
  • 2018-05-02
  • 2020-01-01
  • 2020-08-22
  • 2018-11-21
相关资源
最近更新 更多