android - 当用户关闭应用程序时删除值

标签 android android-preferences

所以在我的应用程序中,我使用 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/

相关文章:

android - 动态壁纸偏好问题

java - PreferencesActivity 与 Fragment - 如何确定用户进入/离开

android - 使用unity3d在android中播放视频

android - flutter android指纹集成

java - 安卓图片互相影响

android - 在 android java 类中使用 Kotlin 扩展

java - MediaPlayer 播放和重播问题

android - 具有离散值的 SeekBarPreference ()

android - 从多个 Activity 中调用共享首选项,并访问其中一个中的按钮

android - 从preferences.xml启动Activity,在onActivityResult中获取结果