2017-09-14 98 views
2
FirebaseUser currentFirebaseUser = FirebaseAuth.getInstance().getCurrentUser(); 
currentFirebaseUser.getDisplayName(); 

此代码与所有获取函数一起使用时与谷歌身份验证,但当身份验证与Facebook我得到nullPointerException。 我使用此代码getCurrentUser()函数错误

if (FirebaseAuth.getInstance().getCurrentUser() == null) { 
     goToLoginScreen(); 
    } 
    else{ 
     String uid = FirebaseAuth.getInstance().getCurrentUser().getUid(); 
    } 
+0

它看起来好像没有当前用户,所以你调用引发'NullPointerException'的'null.getDisplayName()'。 –

回答

0

documentation for getCurrentUser()说会,其实,返回null如果没有当前用户检查用户(有没有人登录)。你应该始终充分期待这种情况是可能的。

如果您想要尽快知道是否有用户登录,则应该使用AuthStateListener来检查登录事件,方法是在其onAuthStateChanged()中调用getCurrentUser()以查看它是否返回non-空值。