如何在flutter上使用firebase正确实现Logout

时间:2018-02-24 16:00:14

标签: firebase-realtime-database dart flutter

这听起来很愚蠢,但我无法正确退出我的应用程序,这是因为我在MaterialApp上使用多个FirebaseAnimatedList和路由

routes: <String,WidgetBuilder>{
    '/StartAppPage':(BuildContext context)=>new StartAppPage(),
    '/LoginPage':(BuildContext context)=> new LoginPage(),
    '/HomePage':(BuildContext context)=> new HomePage)
  },

因此应用程序会检查是否使用以及基于主页或登录的路由是否有用户。

我的主页有一个FirebaseAnimatedList和 在我的主页上有一个用于执行此操作的“注销”按钮

await googleSignIn.signOut();
await FirebaseAuth.instance.signOut();
await FirebaseDatabase.instance.goOffline();
return Navigator.pushReplacementNamed(context, '/StartApp');

到HomePage并注销用户。

但是当其他用户再次登录时,List会显示旧用户的数据,并且该列表可用于弄乱我的数据库

如何正确实现此功能并且setPersistance关闭或打开没有区别

解决方案:通过应用程序保留firebase用户的单个实例。我推荐一个全局变量

0 个答案:

没有答案