我正在尝试在注销期间清除SharedPreferences的所有键值,除了两个键"EmailID"
和"Password"
。我们知道,在flutter中只允许一个SharedPreferences实例,所以我不能为存储"EmailID"
和"Password"
创建另一个实例,并且删除特定密钥并不是删除20多个密钥的好习惯。如果我使用prefs.clear();
将会清除所有键值,将对所有帮助表示感谢。
答案 0 :(得分:1)
没有办法避免这种情况,您必须一一清除这些值。
您必须迭代共享的首选项键,并避免使用不想清除的键。
SharedPreferences preferences = await SharedPreferences.getInstance();
preferences.getKeys();
for(String key in preferences.getKeys()) {
if(key != "email" && key!= "password") {
preferences.remove(key);
}
}