Android:无法为SharedPreferences文件创建目录
我试图通过另一个应用程序编辑一个应用程序的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();
}
我收到一个错误
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(三星)上测试它,任何人都可以帮助我
您需要在AndroidManifest.xml中添加权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
我和你有同样的问题,我用上面的解决方案解决了它。
只需在这个应用程序中使用不同的包名。 这将在不同的目录中创建首选项。
顺便说一句,(它与问题无关,但是以任何方式)错误地使用了createPackageContext()
方法。 您传递MODE_WORLD_WRITEABLE
标志,其值为2并等于CONTEXT_IGNORE_SECURITY
标志,因此这将被逻辑,恕我直言解释错误。
上一篇: Android : Couldn't create directory for SharedPreferences file