gpt4 book ai didi

java - SharedPreferences 不阅读

转载 作者:搜寻专家 更新时间:2023-11-01 09:07:44 25 4
gpt4 key购买 nike

我的应用程序出现奇怪的问题。我设置了一个 SharedPreference,像这样

SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(this);
flag = prefs.getBoolean("handle_calls", false);
if (flag) {
SharedPreferences.Editor editor = prefs.edit();
editor.clear();
editor.putBoolean("checkFlag", true);
editor.commit();
}

几天前它工作正常,但现在这段代码工作正常但是当我尝试在我的 SmsReceiver 类中读取这些首选项时 SharedPreferences 不读取这些值并且读取默认值 (false) ...有时它会起作用,但大多数时候它根本不起作用!这是我阅读 SharedPreferences

的方式
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
SmsManager sms = SmsManager.getDefault();

//flag = prefs.getBoolean("handle_calls", false);
checkFlag = prefs.getBoolean("checkFlag", false);
checkDecisionFlag = prefs.getBoolean("checkDecisionFlag", false);

checkDecisionFlag 工作正常,但 checkFlag 正在采用默认值。

真的生气了!请帮忙!

最佳答案

删除editor.clear();从 if 条件。 as clear 将从 SharedPreference 中清除所有数据。

 if (flag) {
SharedPreferences.Editor editor = prefs.edit();

editor.putBoolean("checkFlag", true);
editor.commit();
}

关于java - SharedPreferences 不阅读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10675634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com