我使用 SharedPreferences 在我的应用程序的不同活动中写入和稍后读取值。它过去可以正常工作,但最近它似乎没有被sincronized。我的意思是,我写了一个值,但其他活动仍然读取旧值。有时它可以正常工作。任何的想法?
编辑:这是一个示例代码:
首先,从一个线程:
SharedPreferences prefs = getSharedPreferences("MyPrefs", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putInt("ComandToDo", value);
editor.commit();
... some code later:
alarmmanager.set(AlarmManager.RTC_WAKEUP, Miliseconds, sender);
在警报接收器中:
SharedPreferences prefs = contexto.getSharedPreferences("MyPrefs", Context.MODE_PRIVATE);
int value = prefs.getInt("ComandToDo", -1);
问题来了,因为“值”不是线程中写入的值。