android - FirebaseAuth.getInstance().getCurrentUser() 返回已删除的用户
问题描述
我注册为新用户并FirebaseAuth.getInstance().getCurrentUser()
正确返回了登录用户。在onCreate()
和onStart()
方法中。
然后,我从 Firebase 身份验证控制台中删除了该用户。我期待有FirebaseAuth.getInstance().getCurrentUser() = null
。但它仍然返回我已删除的用户。在onCreate()
和onStart()
方法中。
这怎么可能?
解决方案
您需要将侦听器附加到 AuthState,试试这个:
//Declaration and defination
private FirebaseAuth firebaseAuth;
FirebaseAuth.AuthStateListener authStateListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
if (firebaseAuth.getCurrentUser() == null){
//Do anything here which needs to be done if user is null
}
else {
}
}
};
//Init and attach
private FirebaseAuth firebaseAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
firebaseAuth = FirebaseAuth.getInstance();
firebaseAuth.addAuthStateListener(authStateListener);
}
推荐阅读
- html - 响应式最大宽度不起作用
- wso2 - API 管理器商店。多个 API 密钥
- r - (函数(类,fdef,mtable)中的错误:无法找到签名“哈希”的函数“值”的继承方法
- python - Python - 如何通过使用循环使这个重复的代码更短?
- c# - 将 PKCS#8 加密密钥导入 RSACng?
- swift - 在 MapBox 层 iOS 上添加搜索栏
- java - 使用struts2.3.34重定向找不到jsp
- node.js - 代理后面的socket.io客户端在浏览器中工作正常,而不是在nodejs应用程序中
- node.js - 无法在带有 nodejs 的 nginx 应用上上传大于 5MB 的图像
- php - 同时执行多个 SQL 命令?