1

我正在使用Firebase匿名身份验证。Firebase身份验证:如何验证用户是否仍然存在

如果用户已从Firebase控制台中删除,则客户仍然认为该用户存在,因为它仍保留令牌。

每次我启动应用程序,我想验证用户是否仍然存在。我发现我可以使用FirebaseUser.reload()函数。

的文件说,如果用户的帐户已禁用或删除,FirebaseAuthInvalidUserException会抛出: https://firebase.google.com/docs/reference/android/com/google/firebase/auth/FirebaseUser.html#reload()

然而,这是一个asyncronous功能,我很努力找出如何捕获此异常。任何人都可以告诉我一个关于如何捕获这个异常的代码示例吗? 我看过所有文档,但我还没有找到关于此的示例。

+0

你有内部数据库的用户数据? –

+0

@BrunoFerreira那应该不重要。我只想抓住这个例外。 –

+0

你可以添加你的firebaseUser.reload()方法吗? –

回答

1

试试这个:

mFirebaseUser.reload().addOnFailureListener(new OnFailureListener() { 
    @Override 
    public void onFailure(@NonNull Exception e) { 
     if (e instanceof FirebaseAuthInvalidUserException) { 
      Log.d(TheApp.LOG_TAG, "user doesn't exist anymore"); 
      createUser(); 
     } 
    } 
}); 
+0

非常感谢,它通过使用'addOnFailureListener' –