zl程序教程

您现在的位置是:首页 >  其他

当前栏目

双击退出程序

程序 退出 双击
2023-09-27 14:27:46 时间
 private Handler mHandler=new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            isExit=false;
        }
    };
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if(keyCode==KeyEvent.KEYCODE_BACK){
            exit();
            return false;
        }

        return super.onKeyDown(keyCode, event);
    }
    /**
     * 双击退出函数
     */
    private  static Boolean isExit=false;
    private void exit() {
        /***
         * 当按下BACK键时,会被onKeyDown捕获,判断是BACK键,则执行exit方法。
         在exit方法中,会首先判断isExit的值,如果为false的话,则置为true,同时会弹出提示,并在2000毫秒(2秒)后发出一个消息,在Handler中将此值还原成false。如果在发送消息间隔的2秒内,再次按了BACK键,则再次执行exit方法,此时isExit的值已为true,则会执行退出的方法。
         */
        if(!isExit){
            isExit=true;
            Toast.makeText(getApplicationContext(), "再按退出程序", Toast.LENGTH_SHORT).show();
            mHandler.sendEmptyMessageDelayed(0,2000);
        }else{
            finish();
            System.exit(0);
        }