原文地址:
https://blog.csdn.net/xichenguan/article/details/47030303
最近在研究 Android 編程方面的東西, 有了以下發現, 該部分代碼直接放在APP的主界面的Activity中,親自驗證可行,感覺還不錯。
其中, KeyEvent.KEYCODE_BACK 是指用戶按下返回鍵,
KeyEvent.ACTION_DOWN 是指按下鍵的事件。
該部分代碼意思就是
第一次按鍵返回的時候 提示 再按一次退出程序。
每一次按鍵返回的時候 和 上一次按鍵返回的時間 在2000ms 以外則進行提示,否則就退出。
連續兩次按下返回鍵的動作 ,也就是在2000ms之內,你連續兩次按下返回鍵,則退出,否則是提示。
以下是轉載內容:
============================================================
用戶退出應用前給出一個提示是很有必要的,因為可能是用戶並不真的想退出,而只是一不小心按下了返回鍵,大部分應用的做法是在應用退出去前給出一個Dialog,我覺得這樣不太友好,用戶還得移動手指去按dialog中的按鈕。個人覺得“再按一次返回鍵退出程序”是best practice,實現也很簡單,直接上代碼:
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); }