按住主页按钮保存数据

时间:2016-06-08 12:47:37

标签: android

我正在制作应用程序来计算用户的收入和结果。最近我发现,如果用户按下了计算器上的主页按钮(我使用的是基本计算器,通过android),那么他/她没有保存的所有数据都将被删除。如何通知用户这样他们可以保存所有未保存的数据?我希望在发生这种情况时显示对话框,但我不知道如何检测主页按钮按下。也许有人有这个问题,可以帮助我吗?

谢谢。

3 个答案:

答案 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
        }
    });