我正在使用Firebase匿名身份验证。
如果用户已从Firebase控制台中删除,则客户端仍然认为用户存在,因为它仍然保留令牌。
每次启动应用时,我都想验证用户是否仍然存在。我发现我可以使用FirebaseUser.reload()
函数。
文档说明,如果用户的帐户已被禁用或删除,则会引发FirebaseAuthInvalidUserException
:
https://firebase.google.com/docs/reference/android/com/google/firebase/auth/FirebaseUser.html#reload()
然而,这是一个异步函数,我正在努力寻找如何捕获此异常。有谁能告诉我如何捕获此异常的代码示例? 我查看了所有文档,但是我没有找到关于此的示例。
答案 0 :(得分: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();
}
}
});