按下后退按钮时保存
Posted
技术标签:
【中文标题】按下后退按钮时保存【英文标题】:Save when back button is pressed 【发布时间】:2014-02-17 15:20:37 【问题描述】:在我的 android 应用程序中,当按下后退按钮时,我希望应用程序保存。这是我的代码:
@Override
public void onBackPressed()
super.onBackPressed();
Log.d("VIVZ", counter + "Was Saved");
所以当我按下后退按钮时它会退出应用程序,然后当我回到应用程序时它没有保存。
【问题讨论】:
你没有可以保存任何东西的代码 添加更多以识别问题 你想在你定义计数器的地方按下后退按钮保存什么? 【参考方案1】:按“返回”后,预计 Activity 将完成 - 它的实例状态丢失。你不会调用onSaveInstanceState()
- 这是一种帮助保存活动实例状态的方法。
如果您想保存应用程序状态(如果您的计数器属于那里),使用SharedPreferences
可能是最简单的。即使在这种情况下,您也可以考虑将保存状态的代码放在onStop()
而不是onBackPressed()
【讨论】:
【参考方案2】:试试这个
@Override
public boolean onKeyUp(int keyCode, KeyEvent event)
if (keyCode == KeyEvent.KEYCODE_BACK)
//Do your saving code
return super.onKeyUp(keyCode, event);
【讨论】:
【参考方案3】:尝试改用活动生命周期方法。
@Override
onPause()
//use some kind of SharedPreferences class or FileOutputStream
//because onPause() is called when the activity is removed from the ui
【讨论】:
以上是关于按下后退按钮时保存的主要内容,如果未能解决你的问题,请参考以下文章
Android Fragment 在按下后退按钮时未保存 UI 状态