要解决这个问题,你需要重写Activity中onBackPressed方法。下面是示例代码:
@Override
public void onBackPressed() {
if (getSupportFragmentManager().getBackStackEntryCount() == 0) {
moveTaskToBack(true);
} else {
super.onBackPressed();
}
}
这里的原理是判断当前Back Stack Entry的数量,如果为0,则后台处理;否则继续调用Base类的onBackPressed方法。