0

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

上下文是服务的上下文。

4

1 回答 1

5

改变

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

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

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

于 2013-05-15T13:27:37.857 回答