Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android : Couldn't create directory for SharedPreferences file

I am trying to edit SharedPreferences of one app through another app, my code goes like this

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();
}

I am getting an error

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

where me.test is my another project in me.test proj I can edit and retrieve SharedPreferences with no pain

I am testing it on Nexus S android 4.0.4 (Samsung), can any one help me

like image 669
Sharanabasu Angadi Avatar asked Aug 22 '12 11:08

Sharanabasu Angadi


2 Answers

You need to add the permissions in your AndroidManifest.xml:

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

I have the same problem with you, and I solved it with the above solution.

like image 74
drakeet Avatar answered Nov 15 '22 13:11

drakeet


Just use a different package name in this app. That will create the preferences in a different directory.

like image 24
Sameer Avatar answered Nov 15 '22 13:11

Sameer