我在Preference中保存一个值,但它总是给我默认值。当应用程序打开时,我可以获得实际值。但是当我从IntentService
获得值时,它总是给我默认值。
保存值的代码:
prefs = context.getSharedPreferences(NAME, Context.MODE_PRIVATE);
Editor editor = prefs.edit();
editor.putString(key, value);
editor.commit();
读取值的代码:
prefs = context.getSharedPreferences(NAME, Context.MODE_PRIVATE);
String value = prefs.getString(key, defaultValue);
但是如果我更改了文件名,那么它的工作时间会延长一段时间,但之后会再次开始提供默认值
答案 0 :(得分:0)
从共享首选项中检索内容:
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(Context);
String s = sp.getString("key", null); // get "value" from the Shared Preferences
答案 1 :(得分:0)
尝试从Context.MODE_PRIVATE更改您的访问模式,因为您正在从外部读取它。 尝试 prefs = context.getSharedPreferences(NAME,Context.MODE_MULTI_PROCESS);