【发布时间】:2018-07-17 12:52:18
【问题描述】:
我的应用程序使用谷歌登录 + Firebase 时遇到问题。
假设有 3 个用户 X,Y and Z 我在一个实例中登录我的应用程序。
我用于检查用户是否登录的代码:
FirebaseAuth mAuth = FirebaseAuth.getInstance();
FirebaseUser currentUser = mAuth.getCurrentUser();
if(currentUser!=null)
{
//user logged in and get user detail from currentUser and go to HomePage
}
else{
//Show sign in button
}
场景: 我用多个帐户签名并注销。一切正常。
但是当我删除应用程序并重新安装它时。 Y 用户由mAuth.getCurrentUser() 自动返回。
我尝试使用X 登录并卸载应用程序。
不过,如果我再次安装它,它会直接将我带到Y 用户。
我尝试使用Z 登录并卸载应用程序。
不过,如果我再次安装它,它会直接将我带到Y 用户。
我什至尝试注销并删除应用程序。如果我再次安装,它会返回 Y 用户,甚至不需要登录。
注意:我还没有清除缓存或数据。如果我这样做,一切都会正常。
问题只是卸载应用程序。
一定是什么原因?
【问题讨论】:
-
尝试使用 X 登录并卸载应用程序您可以使用 X 登录还是 Y 已登录?
-
Y 又回来了。无论如何,如果我卸载应用程序并安装它会返回 Y,我真的很困惑
-
应用标签中的
android:allowBackup="false"怎么样 -
你能解释一下它是什么吗?但我也知道为什么只有
Y回来了 -
Firebase 会在卸载后保留一些数据,卸载后删除数据使用这些
android:allowBackup="false"android:fullBackupContent="false"。而且我不确定为什么只有 Y,但您可以尝试使用它,然后在不使用这些标签的情况下使用 X 或 Z 签名来再次测试
标签: java android firebase firebase-authentication