我正在尝试使用服务调用的线程中的sharedpreferences:
SharedPreferences startPref = PreferenceManager.getDefaultSharedPreferences(context);
//SharedPreferences startPref = context.getSharedPreferences("MyPref", 0);
startPref.edit().putString("REFRESHED", when);
startPref.edit().commit();
System.out.println("Time put " + when);
System.out.println("Got time " + startPref.getString("REFRESHED", "WRONG"));
我尝试在那里放一些字符串然后把它取回来,但我总是得到错误的错误消息。我试图使用startPref初始化的两种变体:注释而不是,两者都不起作用。
上下文是服务的上下文。
答案 0 :(得分:5)
更改
startPref.edit().putString("REFRESHED", when);
startPref.edit().commit();
到
startPref.edit().putString("REFRESHED", when).commit();
每次调用edit()
都会创建一个新的SharedPreferences.Editor
实例。因此,您将在一个中保留未更改的更改,并在另一个编辑器中不进行任何更改。