Android 使用来自服务的SharedReference

Android 使用来自服务的SharedReference,android,service,sharedpreferences,Android,Service,Sharedpreferences,我正在尝试使用由服务调用的线程中的SharedReferences: SharedPreferences startPref = PreferenceManager.getDefaultSharedPreferences(context); //SharedPreferences startPref = context.getSharedPreferences("MyPref", 0); startPref.edit().putString("RE

我正在尝试使用由服务调用的线程中的SharedReferences:

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初始化的两个变体:注释和不,都不起作用

上下文是服务的上下文。

更改

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

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

Change

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

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