У меня в приложении 2 процесса. Из одного процесса я сохраняю данные в SharedPreferences
.
Из второго процесса - извлекаю. Когда я получаю данные, я получаю SharedPreferences
со старыми данными (я проверяю xml файл и вижу, что текущие данные в файле и данные, которые были получены, отличаются). Похоже, что эти данные были кэшированы. Я изменил методы сохранения (commit/apply), но результата нет.
PS: просто для примера http://pastebin.com/Zx2ffvSg
//saving
{ ...
SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_PRIVATE);
SharedPreferences.Editor prefsEditor = myPrefs.edit();
prefsEditor.putString(MY_NAME, "Sai");
prefsEditor.putString(MY_WALLPAPER, "f664.PNG");
prefsEditor.commit();
... }
//retrieving
// when i call getData() I put "this" as argument.
public void getData(Context context){
SharedPreferences myPrefs = context.getSharedPreferences("myPrefs", MODE_PRIVATE);
...}