保存首选项在Android中引发异常



我正试图用以下代码在Android中保存用户偏好:

import java.util.prefs.Preferences;
class MyClass {
void save() throws Exception {
_prefs.put("NAME","VALUE");
_prefs.flush(); // Throws exception
}
private final Preferences _prefs = Preferences.userNodeForPackage(MyClass.class);
}

但是";"冲洗";调用生成以下异常:

W/java.util.prefs: Could not lock User prefs.  Unix error code 2.
W/System.err: java.util.prefs.BackingStoreException: Couldn't get file lock.

我猜是权限问题。所以我在AndroidManifest.xml 中添加了以下内容

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_USER_DICTIONARY" />
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />

但我还是有例外。

如何使用java.util.prefs.preferences类在Android中保存用户首选项?

阅读一些文档,尤其是警告部分

在Android上;系统";以及";用户";首选项存储在文件系统中应用程序无法访问的部分中。此外,允许应用程序设置";"全系统";偏好与android的安全模型相悖。

代替Preferences使用SharedPreferences,HERE 中的一些文档

最新更新