很多程序都当用户按Back键退出页面时,会先提示用户再按一次退出,防止用户无意间触碰到了Back键退出了页面,这样有一个很好地用户体验。
实现思路:通过handler改变退出的标识位
1.设置标识位:分为确认退出状态,退出状态
//状态为确认
private boolean isExit;
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(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
//利用handler延迟发送更改状态信息
mHandler.sendEmptyMessageDelayed(0, 2000);
}
else{
finish();
// System.exit(0);
}
}
return false;
}