既然想實現 按兩次返回鍵 退出程序 有兩個關鍵詞 一個是 “返回鍵”,再一個是“退出程序” 1)先說“退出” 退出相信大家都會 finish(); System.exit(0); 為了確保不出現問題,兩種退出都寫上。 2)再來說說“返回鍵” 需要獲得硬件上的按鍵響應 onKeyDown(int keyCode,KeyEvent event) 然后分別作判斷 keyCode是否為返回鍵,event是否為按下 3)完成這些之后,再做一個“兩次”的判斷 當然可以 int 一個 i 然后做 i++ 的操作 但是這里用的時間間隔做判斷條件 每次按下按鍵,調用System.currentTimeMillis()獲取當前時間毫秒數 做差,判斷是否大於一個給定的(2000)毫秒數 廢話不多說,代碼如下 [java] view plaincopy private long exitTime = 0; @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) { if ((System.currentTimeMillis() - exitTime) > 2000) { Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show(); exitTime = System.currentTimeMillis(); } else { finish(); System.exit(0); } return true; } return super.onKeyDown(keyCode, event); }