我正在制作应用程序来计算用户的收入和结果。最近我发现,如果用户按下了计算器上的主页按钮(我使用的是基本计算器,通过android),那么他/她没有保存的所有数据都将被删除。如何通知用户这样他们可以保存所有未保存的数据?我希望在发生这种情况时显示对话框,但我不知道如何检测主页按钮按下。也许有人有这个问题,可以帮助我吗?
谢谢。
答案 0 :(得分:1)
按下主页按钮,活动将调用onPause()
方法,您可以覆盖此方法以编写操作。您也可以使用
public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
super.onSaveInstanceState(outState, outPersistentState);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
}
恢复您的价值观。
答案 1 :(得分:1)
您可以按如下方式覆盖onKeyDown
public boolean onKeyDown( int keyCode, KeyEvent event) {
if (keyCode == KeyEvent .KEYCODE_HOME) {
//Dialog here to notify user
return true ;
}else{
return super .onKeyDown(keyCode, event );
}
}
答案 2 :(得分:1)
试试这个。
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_HOME)
{
//YOUR CODE
}
});