【问题标题】:Flutter : How to clear Firebase cache after logging out from app?Flutter:从应用程序注销后如何清除 Firebase 缓存?
【发布时间】:2019-06-19 00:42:52
【问题描述】:

我正在尝试在用户退出应用后清除 Firebase 缓存。我已经尝试过了,但代码似乎清除了我的所有文件,因为我在注销之前有背景图像,而所有这些图像在注销后都消失了。

void clearCache() async{
var appDir = (await getTemporaryDirectory()).path;
new Directory(appDir).delete(recursive: true); }

这不是我想要的效果。我只想清除 Firebase 缓存并保留其余的应用程序文件。我将如何实现这一目标?

这里是登出代码sn-ps

new FlatButton(
          child: new Text("Yes",style: new TextStyle(fontFamily: 'DroidSansChinese', color: Colors.white),),
          onPressed: () {_signOut(); clearPreferences();clearCache();},
        ),

void _signOut() async {
await _auth.signOut();
Navigator.of(context)
    .pushAndRemoveUntil(MaterialPageRoute(builder: (context) => LoginPage()), (Route<dynamic> route) => false);

}

void clearPreferences() async{
SharedPreferences prefs = await SharedPreferences.getInstance();
await prefs.setString('name', '');
await prefs.setString('surname', '');
await prefs.setString('email', '');
await prefs.setString('id', '');
print(prefs.getString('name'));

}

void clearCache() async{
var appDir = (await getTemporaryDirectory()).path;
new Directory(appDir).delete(recursive: true);

}

【问题讨论】:

  • 我相信一旦您取消订阅监听器,firebase 缓存就会消失。
  • 我不完全确定 Firebase 缓存在您取消订阅侦听器后的行为。我想在我的应用程序中实施清除的原因是完全确定我正在摆脱所有以前的用户信息。
  • FirebaseFirestore.clearPersistence() 尚不可用我猜stackoverflow.com/questions/58902649/…

标签: firebase dart flutter


【解决方案1】:

但代码会清除我所有的文件

检查您提供的sn-ps,应用程序创建的文件被删除Directory(appDir).delete(recursive: true);。您在这里所拥有的是清除您存储的 SharedPreferences,而不一定清除 Firebase 创建的缓存。

来自 FirebaseAuth 的Signing out 应该清除用户实例。当用户使用FirebaseAuth.instance.currentUser 登录时,可以轻松获取用户详细信息,而不是将用户详细信息存储在 SharedPreferences 中。这将返回包含用户详细信息的 User class

var user = FirebaseAuth.instance.currentUser;
String? name = user.displayName;
String? email = user.email;
String? id = user.uid;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-23
    • 1970-01-01
    • 1970-01-01
    • 2015-01-16
    • 1970-01-01
    • 2016-11-11
    相关资源
    最近更新 更多