我的应用程序出现奇怪的问题。我已经设置了一个 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
没有读取这些值并且读取了默认值(假)......有时它工作并且大部分时间它根本不起作用!这是我阅读的方式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 采用默认值。
真的生气了!请帮忙!