Delete all sharedPreferences in Android

3.5k views Asked by At

Is it possible to programmatically delete all sharedPreferences of an Android application, without knowing the file names? I mean all files, not all keys of a given file.

I'm running unit tests with instrumentation for several applications, and i need to clear every file the an app may create under /data/data/app.package.name/shared_prefs folder.

For example an app may create these files under shared_prefs:

appname.xml
app.package.name_preferences.xml
app.package.name_tips.xml

while for another app i could have:

app.package.name_prefs.xml
app.package.name_foo.xml

Note: Using pm clear YOUR_APP_PACKAGE the app crashes.

Thanks

1

There are 1 answers

7
mrtn On

To remove all prefs of the application you can use:

SharedPreferences.Editor.clear()

After that you have to commit() the removal.

So it would look like that in full code:

getSharedPreferences(PREFS, 0).edit().clear().commit() // change PREF to yours