Android BACK键简析
BACK
最近在有AndroidTV的项目需求,在学习按键处理过程中,我发现对于返回键也有不同的解决方案。在一般情况下,不对BACK按键做处理,BACK就是维护简单的回退栈,退到上一个Activity。但是在fragment之间切换时,按下BACK用户意图可能是返回到上一个fragment但实际会退出到上一个Activity;在我设置了浏览器功能——webview后,在浏览过程中按下BACK结果退出了浏览器,返回到上一个Activity。Android中的BACK键的回退自带OnBackPressd()方法,Activity中的源码:
public void onBackPressed() {
if (mActionBar != null && mActionBar.collapseActionView()) {
return;
}
FragmentManager fragmentManager = mFragments.getFragmentManager();
if (!fragmentManager.isStateSaved() && fragmentManager.popBackStackImmediate()) {
return;
}
if (!isTaskRoot()) {
// If the activity is not the root of the task, allow finish to proceed normally.
finishAfterTransition();
return;
}
try {
// Inform activity