Android:无法为SharedPreferences文件创建目录

Sha*_*adi 8 android android-intent android-layout

我正在尝试SharedPreferences通过另一个应用程序编辑一个应用程序,我的代码就像这样

try {
Context plutoContext = getApplicationContext().createPackageContext("me.test",Context.MODE_WORLD_WRITEABLE);
SharedPreferences plutoPreferences = PreferenceManager.getDefaultSharedPreferences(plutoContext);
Editor plutoPrefEditor = plutoPreferences.edit();
plutoPrefEditor.putString("country", "India");
plutoPrefEditor.commit();
}
Run Code Online (Sandbox Code Playgroud)

我收到了一个错误

E/SharedPreferencesImpl( 304): Couldn't create directory for SharedPreferences file /data/data/me.test/shared_prefs/me.test_preferences.xml

这里me.test是我在me.test凸出的另一个项目,我可以编辑和检索SharedPreferences具有无痛苦

我在Nexus S android 4.0.4(三星)上测试它,任何人都可以帮助我

dra*_*eet 5

您需要在 AndroidManifest.xml 中添加权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
Run Code Online (Sandbox Code Playgroud)

我和你遇到同样的问题,按照上面的方法解决了。

  • 您确定要添加访问共享首选项的权限吗? (3认同)

Sam*_*eer 1

只需在此应用程序中使用不同的包名称即可。这将在不同的目录中创建首选项。