如何删除应用程序的SharedPreferences数据?
我正在创建一个使用大量web服务来同步数据的应用程序。出于测试目的,我需要在重新启动应用程序时删除一些SharedPreferences值。
如何删除应用程序的SharedPreferences数据?
我正在创建一个使用大量web服务来同步数据的应用程序。出于测试目的,我需要在重新启动应用程序时删除一些SharedPreferences值。
当前回答
根据API 24(牛轧糖),你可以这样做:
context.deleteSharedPreferences("YOUR_PREFS");
然而,没有向后兼容性,所以如果你支持小于24的版本,请坚持使用:
context.getSharedPreferences("YOUR_PREFS", Context.MODE_PRIVATE).edit().clear().apply();
其他回答
一行删除Android共享首选项:-)
context.getSharedPreferences("YOUR_PREFS", 0).edit().clear().commit();
或申请非阻塞异步操作:
this.getSharedPreferences("YOUR_PREFS", 0).edit().clear().apply();
你可以使用preferences.edit().remove("key").commit()从共享首选项中删除保存的值。
String prefTag = "someTag";
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(applicationContext);
prefs.edit().remove(prefTag).commit();
这将删除保存的名称为“someTag”的共享首选项。
似乎所有的解决方案都不是完全有效或死亡
清除活动中的所有SharedPreferences
PreferenceManager.getDefaultSharedPreferences(getBaseContext()).edit().clear().apply();
从onCreate之后的Main Activity调用这个
注:我使用了.apply()而不是.commit(),你可以自由选择commit();
删除所有首选项:
SharedPreferences settings = context.getSharedPreferences("PreferencesName", Context.MODE_PRIVATE);
settings.edit().clear().commit();
去除单一偏好:
SharedPreferences settings = context.getSharedPreferences("PreferencesName", Context.MODE_PRIVATE);
settings.edit().remove("KeyName").commit();