2017-09-14 104 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-空值。