SharedPreference退出应用程序时删除

时间:2011-09-01 11:30:42

标签: android sharedpreferences

我想删除sharedPreference的详细信息;我确实喜欢这样,但没有工作:

SharedPreferences  myRoutes = this.getSharedPreferences("myDefalutRoute", MODE_PRIVATE);
public void onExitAction(View botton){
    Intent startMain = new Intent(Intent.ACTION_MAIN);
    startMain.addCategory(Intent.CATEGORY_HOME);
    startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(startMain);
    finish();    

    SharedPreferences myPrefs = this.getSharedPreferences("myLogedPrefs",MODE_WORLD_READABLE);
    myPrefs.edit().remove("myLogedPrefs");
    myPrefs.edit().clear(); 
    myPrefs.edit().commit();

    myRoutes.edit().remove("myDefalutRoute");
    myRoutes.edit().clear(); 
    myRoutes.edit().commit();

    moveTaskToBack(true);

}

退出应用程序&转到data \ data \ package \ myLogedPrefs.xml包含值。

我们如何删除SharedPreferences数据?

请帮帮我..

提前致谢;

3 个答案:

答案 0 :(得分:2)

你确定正在调用onExitAction()吗?你在哪里叫它。加入一些日志记录以确保它被调用。正如J_Andr所提到的,您可能希望移动此代码或从应用程序的初始Activity的onDestroy方法调用该函数。

答案 1 :(得分:2)

@override
public void onDestroy()
{
    super.onDestroy();
    SharedPreferences myPrefs = this.getSharedPreferences("myfile",MODE_WORLD_READABLE);
    myPrefs.edit().remove("myfile");
    myPrefs.edit().clear(); 
    myPrefs.edit().commit();    
}

答案 2 :(得分:1)

尝试将这些删除命令放入onDestroy()。