很多程序都當用戶按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;
}