所以在我的应用程序中,我使用 SharedPreferences
来保存 fragment 状态。但是,一旦用户走出应用程序,我想删除 SharedPreferences
中的那些条目。我尝试了以下方法:
在我的主课中:
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
if(isFinishing() == true)
{
SM.removePreferences();
}
}
其中 SM 是我创建的辅助类的一个实例。 removerPreferences 执行以下操作:
public void removePreferences(){
editor.clear();
editor.commit();
}
但我注意到这从未执行过。通过日志,我确实看到应用程序进入了 isFinishing() if 语句,但该方法从未执行过。我也确实尝试了 onDestroy()
,但该方法从未被调用。
有人可以帮我解决这个问题吗?
最佳答案
使用 onstop 覆盖来做到这一点
像这样:
@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
if(isFinishing() == true)
{
SM.removePreferences();
}
}
关于android - 当用户关闭应用程序时删除值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19618867/