更新
我在启动模式下将每个活动都设置为SingleInstance,这使出现该问题的原因很有意义。将其设置为默认值或SingleTop即可清除问题。
因此,我正在制作一个Android应用,其中包含用于登录和注销的Firebase电子邮件身份验证。有一个ProfileActivity,它显示用户的个人资料图片和其他信息,例如图像,帖子等。当该用户注销后,另一个用户登录并导航到profileActivity时,将显示前一个用户的数据。但是,如果应用程序已关闭并重新启动,则一切正常,将显示正确的数据。 sigin和注销是同时完成的,而无需关闭应用程序,然后才出现问题。
我尝试在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);
}
}