@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(); } }
新闻热点
疑难解答