java - Firebase 身份验证为 getCurrentUser() 返回 NULL

标签 java android firebase firebase-authentication

当我的 Android 应用程序启动时,我会检查用户是否已登录并继续。后来我希望这一行总是返回用户对象:

FirebaseAuth.getInstance().getCurrentUser()

这通常有效,但有时会返回null。为什么是这样?这是正常的吗?又该如何处理呢?

最佳答案

getCurrentUser() 的文档很明显,它将返回当前登录的用户,如果没有则返回 null。如果您在这里得到 null,则意味着没有用户登录。

如果您可以清楚地证明当肯定有用户登录时它会返回 null,那么这是一个错误。不过我会说这个问题以前从未出现过,如果这里出现错误,它会严重破坏许多应用程序。

考虑adding an AuthStateListener更好地了解用户何时登录或未登录。请read the documentation更好地了解用户可能存在但尚未完全通过身份验证且可供 SDK 使用的边缘情况。使用 AuthStateListener 可以正确处理这些情况。

关于java - Firebase 身份验证为 getCurrentUser() 返回 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48310815/

相关文章:

java - 我可以使用 Mockito 延迟 stub 方法响应吗?

java - 应用程序无法启动 Activity 组件信息(Android)

java - Jackson json 映射和驼峰键名称

java - 在 kotlin 中找不到类?

firebase - 网络连接不足或没有网络连接时,应用会崩溃

c# - 画一个圆的边界?

java - 在 Android 中创建复合 View

Android 键盘与 ListView 重叠

android - 如何更改 Kotlin 属性的名称以匹配 Firebase 数据库上的字段

firebase - Firestore在更新后获取Field.increment的值而不读取文档数据