Android 雙擊返回鍵退出程式 實現
阿新 • • 發佈:2019-02-11
思路:使用者按下返回鍵時設定一個定時器來監控是否2秒內實現了退出,如果使用者沒有接著按返回鍵,則清除第一次按返回鍵的效果,使程式還原到第一次按下返回鍵之前的狀態。定時器是每次使用者按下返回鍵才去建立。
程式碼如下:
/** * 選單、返回鍵響應 */ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub if(keyCode == KeyEvent.KEYCODE_BACK) { exitBy2Click(); //呼叫雙擊退出函式 } return false; } /** * 雙擊退出函式 */ private static Boolean isExit = false; private void exitBy2Click() { Timer tExit = null; if (isExit == false) { isExit = true; // 準備退出 Toast.makeText(this, "再按一次退出程式", Toast.LENGTH_SHORT).show(); tExit = new Timer(); tExit.schedule(new TimerTask() { @Override public void run() { isExit = false; // 取消退出 } }, 2000); // 如果2秒鐘內沒有按下返回鍵,則啟動定時器取消掉剛才執行的任務 } else { finish(); System.exit(0); } }
其中onKeyDown()函式可以在選單欄Source->Override/Implement Methods裡找到,雙擊即可自動新增到程式碼中。