首页 > 代码库 > 按下返回键,提示消息是否退出程序

按下返回键,提示消息是否退出程序

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        //判断是否按下返回键,event.getRepeatCount() == 0为防止点击的过快
        if(keyCode==KeyEvent.KEYCODE_BACK&&event.getRepeatCount()==0){
            dialog();
        }
        return true;
    }
    
    /**
     * 提示框,提示确定或者取消,关闭程序
     */
    public void dialog() {
        //实例化一个提示消息框
        AlertDialog.Builder builder=new Builder(MainActivity.this);
        //设置消息框的内容
        builder.setMessage("确定退出程序");
        //设置消息框的标题
        builder.setTitle("提示");
        //为消息框添加一个确定按钮,并为其添加监听事件
        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
            
            public void onClick(DialogInterface dialog, int which) {
                //隐藏对话框,可以使用hide,但是dismiss会释放消息框所占用的资源,hide不会,关闭前调用dismiss
                dialog.dismiss();
                //实现程序重启
                Process.killProcess(Process.myPid());
            }
        });
        
        //为消息框添加取消按钮,并为取消按钮添加监听事件
        builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
            
            public void onClick(DialogInterface dialog, int which) {
                //隐藏对话框
                dialog.dismiss();
            }
        });
        //创建消息框,并显示
        builder.create().show();
    }