Delete all sharedPreferences in Android [duplicate]

倖福魔咒の 提交于 2019-12-11 06:57:25

问题


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:


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


来源:https://stackoverflow.com/questions/30808319/delete-all-sharedpreferences-in-android

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!