標籤:
許多 Android 應用程式都是連續點擊兩下返回鍵時退出程式,代碼如下:
private long exitTime = 0;@Overridepublic 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);}
參考連結:Android中的“再按一次返回鍵退出程式”實現
此外,有人提到了 Stack Overflow 上的解決方案,有很多,未細看,這裡先把連結貼出來:Android: clicking TWICE the back button to exit activity
前者使用的時候遇到了一些問題:應用程式退出之後又重啟了!
上網尋找後發現有說法是:有 Activity 沒有 finish.
果不其然,這裡可能是單單一個 finish() 方法不足以 finish 所有的 Activity, 可以寫一個方法來實現,代碼如下(這裡僅供參考):
private static Stack<Activity> activityStack; public void finishAllActivity() { for (int i = 0, size = activityStack.size(); i < size; i++) { if (null != activityStack.get(i)) { activityStack.get(i).finish(); } } activityStack.clear(); }
這樣做之後問題就解決了~
【Android】System.exit(0) 退出程式