前些日子看到别人写的 点击两次退出程序 的demo,感觉不够简洁,就自己动手写了一个
主要实现:通过handler类延迟发送信息更新状态
1
mHandler.sendEmptyMessageDelayed(0, 2000);
贴代码:
01
boolean isExit=false;
02
Handler mHandler = new Handler(){
03
@Override
04
public void handleMessage(Message msg) {
05
super.handleMessage(msg);
06
isExit=false;
07
}
08
09
};
10
11
@Override
12
public boolean onKeyDown(int keyCode, KeyEvent event) {
13
// TODO Auto-generated method stub
14
if(keyCode == KeyEvent.KEYCODE_BACK){
15
if(!isExit){
16
isExit=true;
17
Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();
18
//利用handler延迟发送更改状态信息
19
mHandler.sendEmptyMessageDelayed(0, 2000);
20
}
21
else{
22
finish();
23
System.exit(0);
24
}
25
}
26
return false;
27
}