为了账号安全,请及时绑定邮箱和手机立即绑定

注销时删除所有 SharedPreferences

注销时删除所有 SharedPreferences

神不在的星期二 2021-09-12 20:40:15
我希望我的应用程序在用户注销时删除所有首选项并LoginActivity在退出主屏幕后显示。我一直在关注这里的建议。以我的方式,我只得到默认的首选项。如果有帮助,我的应用程序的工作流程是这样的:登录 -> 将用户详细信息保存到首选项 -> 开始MainActivity-> 注销 -> 清除首选项 -> 开始LoginActivity问题是使用默认首选项引起的吗?还是因为我调用了finish()?我试过apply()和commit()。都没有工作。当我尝试在LoginActivity. 如何清除我的偏好?private void logout(){    // clear preferences    SharedPreferences sharedPreferences = this.getPreferences(Context.MODE_PRIVATE);    sharedPreferences.edit().clear().apply();    Intent i = new Intent(this, LoginActivity.class);    startActivity(i); // call LoginActivity and finish this one.    finish();}
查看完整描述

3 回答

?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

我建议你使用像Easy Prefs这样的库来处理 Sharedprefrences。它有一个方法,Prefs.clear()所以基本上这将清除所有共享的首选项。这将使您很容易处理 sharedPrefs。


或者,您可以通过以下功能清除 sharedpref:


public void clearPrefs(){

    SharedPreferences mySPrefs = PreferenceManager.getDefaultSharedPreferences(this);

    SharedPreferences.Editor editor = mySPrefs.edit();

    editor.clear();

    editor.apply();

}


查看完整回答
反对 回复 2021-09-12
?
GCT1015

TA贡献1827条经验 获得超4个赞

使用提交


SharedPreferences sharedPreferences =  getSharedPreferences("YourKey", MODE_PRIVATE);

sharedPreferences.edit().clear().commit();

Intent i = new Intent(this, LoginActivity.class);

startActivity(i);

finish();


查看完整回答
反对 回复 2021-09-12
  • 3 回答
  • 0 关注
  • 217 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信