版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zsp_android_com/article/details/85097827
方法
@Override
public void onBackPressed() {
super.onBackPressed();
}
API 24源码
/**
* Called when the activity has detected the user's press of the back
* key. The default implementation simply finishes the current activity,
* but you can override this to do whatever you want.
*/
public void onBackPressed() {
if (mActionBar != null && mActionBar.collapseActionView()) {
return;
}
if (!mFragments.getFragmentManager().popBackStackImmediate()) {
finishAfterTransition();
}
}
说明
Android按BACK键调onBackPressed()(需谨慎),相对finish多一些操作(如Activity状)。onBackPressed首关ActionBar展开菜单(collapseActionView),其次对FragmentManager退栈操作(popBackStackImmediate),末关Activity。低版调finish,高版调finishAfterTransition。Activity于onSaveInstanceState后调onBackPressed报错,活状调无问题。
结论
- 调onBackPressed()需注意Activity状。
- 调onBackPressed()不一定结束Activity。
- 调onBackPressed()后仍终调finish()结束Activity。
注意
重写onBackPressed()不删super.onBackPressed();
默关当前Activity。