SharedPreference值未更新

时间:2014-10-08 14:33:07

标签: android sharedpreferences

我从Widget启动了一个Activity和一个Service。我在Activity和Service中都使用了一个共享首选项。当我从活动更新偏好值时,它没有在服务中更新。请参阅代码。

SharedPreferences myPref = getSharedPreferences("mPrefValue", Context.MODE_PRIVATE);
String targetValue = myPref.getString("mPrefValue", "0");
System.out.println("targetValue "+targetValue);

3 个答案:

答案 0 :(得分:1)

当您访问共享偏好设置时,请致电getSharedPreferences(String name, int mode);只需指定MODE_MULTI_PROCESS作为第二个参数。

答案 1 :(得分:1)

你不忘记犯了吗?

myPref.edit().putString("mPrefValue", "a value").commit();

答案 2 :(得分:0)

请粘贴更多代码,以便我们更好地了解您的问题。

您是如何填充此SharedPreferences的?你有没有使用.commit()方法(在添加新的prefs之后)以确保你的偏好已被上传"正确到SharedPreferences对象?

如果是这样,你仍然有这个问题,我认为使用SharedPreferencesListeners可能是另一种解决方案。 看看:http://developer.android.com/reference/android/content/SharedPreferences.OnSharedPreferenceChangeListener.html

再见:)