SharedPreference Удалить при выходе из приложения - PullRequest
1 голос
/ 01 сентября 2011

Я хочу удалить данные 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 ]

2 голосов
/ 01 сентября 2011

Вы уверены, что onExitAction () вызывается?Откуда ты звонишь?Добавьте запись в журнал, чтобы убедиться, что он вызывается.И, как упоминал J_Andr, вы, вероятно, захотите переместить этот код или вызвать функцию из метода onDestroy начальной активности приложения.

2 голосов
/ 28 февраля 2012
@override
public void onDestroy()
{
    super.onDestroy();
    SharedPreferences myPrefs = this.getSharedPreferences("myfile",MODE_WORLD_READABLE);
    myPrefs.edit().remove("myfile");
    myPrefs.edit().clear(); 
    myPrefs.edit().commit();    
}
1 голос
/ 01 сентября 2011

Попробуйте поместить эти команды удаления в onDestroy ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...