使用来自服务的共享偏好

时间:2013-05-15 13:24:24

标签: android service sharedpreferences

我正在尝试使用服务调用的线程中的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初始化的两种变体:注释而不是,两者都不起作用。

上下文是服务的上下文。

1 个答案:

答案 0 :(得分:5)

更改

startPref.edit().putString("REFRESHED", when);
startPref.edit().commit();

startPref.edit().putString("REFRESHED", when).commit();

每次调用edit()都会创建一个新的SharedPreferences.Editor实例。因此,您将在一个中保留未更改的更改,并在另一个编辑器中不进行任何更改。