我的应用有3个与此方向链接在一起的活动A - > B - > C.现在我已经阅读了关于如何处理活动之间的向上导航的does,但在某些情况下它并没有按预期工作。点击向上按钮时我稍微修改了一下代码:
case android.R.id.home:
Intent intent = NavUtils.getParentActivityIntent(this);
if (NavUtils.shouldUpRecreateTask(this, intent))
TaskStackBuilder.create(this).addNextIntentWithParentStack(intent).startActivities();
else {
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
NavUtils.navigateUpTo(this, intent);
}
return true;
在正常情况下,它确实与按下后退按钮的行为相同(父活动不会重新加载)。然而,当我在活动C时尝试创建一个低内存环境时,我可以回到B(它被重新创建),但是我无法从B到达A,而是直接进入我的主屏幕。我想要的是我可以从B回到A,从C到B.
我在所有活动中都有正确的android:parentActivityName
标记,所以这不是问题所在。我甚至尝试过设置活动A android:launchMode="singleTop"
,但它也没有用。任何人都有解决方案吗?