Android之单击返回键两次退出

时间:2021-10-21 07:16:37

private static Boolean isExit = false;
        private static Boolean hasTask = false;
        Timer tExit = new Timer();
        TimerTask task = new TimerTask() {
                @Override
                public void run() {
                        isExit = false;
                        hasTask = true;
                }
        };

@Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
                if (keyCode == KeyEvent.KEYCODE_BACK) {
                        if (isExit == false) {
                                isExit = true;
                                Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
                                if (!hasTask) {
                                        tExit.schedule(task, 2000);
                                }
                        } else {
                                finish();
                                System.exit(0);
                        }
                }
                return false;
        }