前些日子看到别人写的“点击两次退出程序”的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;
}