今天要講的這個東西在各APP都還蠻常看到的,就是按兩下Back離開程式,
我在我自己的APP中會設計這個,主要是因為使用者常常會不小心去點到Back鍵而離開程式,
另外一提,Home鍵是不可卡的,好像是因為Android怕會有成是當機導致整個系統被影響的緣故
總之好處多多,那就來動手做做看囉!
這邊的設計邏輯是這樣,如果按下第一下Back,偵測它是否要退出了,如果沒有,
則記錄下次按下Back要退出,並在2秒內要完成。
private static Boolean isExit = false;
private static Boolean hasTask = false;
Timer timerExit = new Timer();
TimerTask task = new TimerTask() {
@Override
public void run() {
isExit = false;
hasTask = true;
}
};
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// 判斷是否按下Back
if (keyCode == KeyEvent.KEYCODE_BACK) {
// 是否要退出
if(isExit == false ) {
isExit = true; //記錄下一次要退出
Toast.makeText(this, "再按一次Back退出APP"
, Toast.LENGTH_SHORT).show();
// 如果超過兩秒則恢復預設值
if(!hasTask) {
timerExit.schedule(task, 2000);
}
} else {
finish(); // 離開程式
System.exit(0);
}
}
return false;
}
那今天就到這邊囉~我們明天見啦~~