FirebaseAuth.getCurrentUser()返回空值

时间:2018-06-24 17:19:42

标签: android firebase firebase-realtime-database firebase-authentication

FirebaseAuth.getCurrentUser()返回null值。以前,我的代码运行良好,但是几天后,它以currentUser的形式返回null

我也已经在另一台设备上尝试了我的应用程序,并且在该设备上,使用相同的代码,一切都可以正常工作。

mAuth=FirebaseAuth.getInstance();
mCurrentUser=mAuth.getCurrentUser()
mUserDatabase=FirebaseDatabase.getInstance().getReference().child("Users")
                              .child(mCurrentUser.getUid());

例外:

  

由于:java.lang.NullPointerException:尝试调用虚拟   方法'java.lang.String   com.google.firebase.auth.FirebaseUser.getUid()”在空对象上   参考

我已经尝试删除应用程序数据并在设备上卸载并重新安装我的应用程序,但是没有任何效果。

我的设备或Firebase有问题吗?

1 个答案:

答案 0 :(得分:0)

用户似乎未登录您的应用,这导致mCurrentUser.getUid()引发异常。

解决方案是仅在存在已登录的yser的情况下调用getUid()

mCurrentUser=mAuth.getCurrentUser();
if (mCurrentUser != null) {
    mUserDatabase=FirebaseDatabase.getInstance().getReference().child("Users")
                          .child(mCurrentUser.getUid());
}