另一个用户登录后,显示前一个用户的数据

时间:2019-07-30 20:02:17

标签: java android firebase firebase-realtime-database

更新

我在启动模式下将每个活动都设置为SingleInstance,这使出现该问题的原因很有意义。将其设置为默认值或SingleTop即可清除问题。

因此,我正在制作一个Android应用,其中包含用于登录和注销的Firebase电子邮件身份验证。有一个ProfileActivity,它显示用户的个人资料图片和其他信息,例如图像,帖子等。当该用户注销后,另一个用户登录并导航到profileActivity时,将显示前一个用户的数据。但是,如果应用程序已关闭并重新启动,则一切正常,将显示正确的数据。 sigin和注销是同时完成的,而无需关闭应用程序,然后才出现问题。

我尝试在firebase数据库中修改规则,重新检查了签出方法,但未发现任何相关问题。

Firebase数据库规则

{
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null"
  }
}

退出方法

auth = FirebaseAuth.getInstance();
auth.signOut();

这些方法也包括在内

@Override
protected void onStart() {
    super.onStart();
    auth.addAuthStateListener(authStateListener);

}

@Override
public void onStop(){
    super.onStop();
    if(authStateListener != null){
        auth.removeAuthStateListener(authStateListener);
    }
}

0 个答案:

没有答案
相关问题