当前位置: 代码迷 >> Android >> android两次按回来键退出程序实现
  详细解决方案

android两次按回来键退出程序实现

热度:88   发布时间:2016-05-01 14:04:15.0
android两次按返回键退出程序实现
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;        }    };public boolean onKeyDown(int keyCode, KeyEvent event) {                // TODO Auto-generated method stub                if(keyCode == KeyEvent.KEYCODE_BACK){//                        System.out.println("user back down");                        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;        }

?

1 楼 xiaocq203 2012-03-11  
public boolean onKeyDown(int keyCode, KeyEvent event) {		if(keyCode == KeyEvent.KEYCODE_BACK){			if(isExit == false){				isExit = true;				Toast.makeText(this, R.string.tip_back_exit, Toast.LENGTH_SHORT).show();				if(!hasTask){					tExit.schedule(task, 2000);				}			}else{				finish();				System.exit(0);			}		}		return false;	}

你的排版有点乱…括号什么的不对劲,更正之…顺便,感谢分享…
2 楼 xiaoxaoAndroid 前天  
第三次按返回键时会退出程序啊!

第一次按的时候
isExit = false;
hasTask = true;

第二次按的时候(过2秒后)
isExit = true;
hasTask = true;
没有执行下面这句
mTimer.schedule(task, 2 * 1000);

第三次按的时候(过2秒后)
isExit = true;直接退出
  相关解决方案