点击两次返回键退出程序(简洁)

前些日子看到别人写的“点击两次退出程序”的demo,感觉不够简洁,就自己动手写了一个

主要实现:通过handler类延迟发送信息更新状态

mHandler.sendEmptyMessageDelayed(0, 2000);

贴代码:

 

boolean isExit=false;
	Handler mHandler = new Handler(){
		@Override
		public void handleMessage(Message msg) {
			super.handleMessage(msg);
			isExit=false;
		}
		
	};
	
	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		// TODO Auto-generated method stub
		if(keyCode == KeyEvent.KEYCODE_BACK){
			if(!isExit){
				isExit=true;
				Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();
				//利用handler延迟发送更改状态信息
				mHandler.sendEmptyMessageDelayed(0, 2000);
			}
			else{
				finish();
				System.exit(0);
			}
		}
		return false;
	}

你可能感兴趣的:(点击两次返回键退出程序(简洁))