Android下兩次返回鍵完全退出程式以及提示對話方塊的實現
阿新 • • 發佈:2019-02-19
我們看到許多介面友好的應用,在退出程式這一步也做得很人性化,比如按兩下返回鍵退出程式,第一次按了返回鍵的時候,提示“再按一次返回鍵就退出程式”,其實在自己的程式裡面,也可以這樣做。
在MainActivity中加上以上程式碼:onKeyDown響應按鍵訊息,keyCode是按鍵碼,event是按鍵訊息,封裝了本次按鍵的動作;exitTime儲存上一次按返回鍵的時間(long),如果這次按返回鍵的時間距上次的時間小於2S(long的2000),就退出,finish()是將activity完成,System.exit(0)是退出程式,主要要保證所有的activity都退出了,才呼叫exit,不然會有後臺程式還在繼續執行。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); }