卸载应用程序后为何保留FirebaseAuth currentUser()?

时间:2019-12-18 23:36:28

标签: android flutter

每当我第一次运行我的应用程序时,我都试图在Flutter中获取用户的登录状态(仅当我卸载并重新安装该应用程序时),以下代码将返回用户。

我已经尝试让whenCompletethen的用户都返回 一样。

 FirebaseAuth _firebaseAuth = FirebaseAuth.instance;    
 FirebaseUser user = await _firebaseAuth.currentUser();
 return user;

返回的用户是我的android设备上的平台用户,如果我在安装后重新加载我的应用,则会删除该用户。

编辑:

  1. 我已经尝试了https://stackoverflow.com/a/48660787/979653
  2. 中的所有步骤
  3. 我从Firebase中删除了所有用户
  4. 我的应用显示的用户名不在我的Firebase中。

有趣的是,最小化应用程序会删除未知用户。

1 个答案:

答案 0 :(得分:1)

之所以会发生这种情况,是因为在某些情况下,无论应用程序是否被删除,无论是否删除了您的以前的Firebase用户,数据都将始终脱机保存。

参考this答案:

  

这是因为Android 6具有自动备份功能。你需要调音   清单中的android:allowBackup和android:fullBackupContent    标记是否不想备份数据或   包括或排除某些资源。这不是错误。

因此,基本上,在manifest.xml中添加android:allowBackup="false"android:fullBackupContent="false",就可以了。