首页 > 解决方案 > FirebaseAuth.getInstance().getCurrentUser() 返回已删除的用户

问题描述

我注册为新用户并FirebaseAuth.getInstance().getCurrentUser()正确返回了登录用户。在onCreate()onStart()方法中。

然后,我从 Firebase 身份验证控制台中删除了该用户。我期待有FirebaseAuth.getInstance().getCurrentUser() = null。但它仍然返回我已删除的用户。在onCreate()onStart()方法中。

这怎么可能?

在此处输入图像描述

标签: androidfirebase-authentication

解决方案


您需要将侦听器附加到 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);
}

推荐阅读