@Override public void onBackPressed() { super.onBackPressed(); }查看super.onBackPressed()源碼 public void onBackPressed() { if (mActionBar != null && mActionBar.collapseActionView()) { return; } if (!mFragments.getFragmentManager().popBackStackImmediate()) { finishAfterTransition(); } }查看finishAfterTransition()源碼 public void finishAfterTransition() { if (!mActivityTransitionState.startExitBackTransition(this)) { finish(); } }finishAfterTransition()方法中調用了finish()方法,可以看出super.onBackPressed() 可以實現關閉當前activity();如果重寫onBackPressed()方法時,刪掉super.onBackPressed();則app無法通過返回鍵退出程序。 @Override public void onBackPressed() { //super.onBackPressed();去掉后無法通過返回鍵退出 app }2.實現點擊兩次退出程序 //第一次點擊返回鍵的時間 private long firstPressedTime; @Override public void onBackPressed() { //System.currentTimeMillis() 當前系統時間即第二次點擊返回鍵的時間 if (System.currentTimeMillis() - firstPressedTime < 2000) { super.onBackPressed(); } else { Toast.makeText(getBaseContext(), "再點一次退出", Toast.LENGTH_SHORT).show(); firstPressedTime = System.currentTimeMillis(); } }
新聞熱點
疑難解答