手动清除共享偏好

时间:2012-06-26 02:16:10

标签: android

我正在使用共享偏好编写登录功能。我使用SharedPreferences.Editor :: commit()来存储用户名和密码;从shared_prefs读取它以检查登录。登录后,我cd到/data/data/com.< my_package&gt; / shared_prefs /并删除“shared_prefs”文件夹。问题是应用程序屏幕仍处于登录状态。 我尝试返回并重新启动应用程序,但它仍处于登录状态。手动删除“shared_prefs”是否完全清除了prefs?为什么我的应用仍处于登录状态?

1 个答案:

答案 0 :(得分:2)

您不应该删除首选项文件夹。如果执行此操作,共享首选项的行为将无法记录。 (即使您退出上一个活动,该过程仍可能处于活动状态,之前读取的首选项仍在内存中。)

如果要从共享首选项中删除特定值,请使用SharedPreferences.Editor.remove(String)。如果要清除所有值,请使用SharedPreferences.Editor.clear()。在任何一种情况下,commit()您的更改都会生效。

如果要将程序重置为初始状态(就好像它从未运行过),请转到设置 - &gt;管理应用程序,打开应用程序,停止它(如果它正在运行),然后清除所有数据。