1

我有 3 个活动(A、B、C)。对于使用向上按钮从 B->A 和 C->B 导航,我使用 NavUtils.navigateUpFromSameTask(this); 我想要实现的是导航:A->B->C 当我在 CI 中时想要启动 A 并将一些额外的数据传递给 A。挑战是将 B、C 保留在堆栈中,因此 A 的硬件后退按钮将返回对 C。

我尝试了默认启动模式,然后尝试了单任务启动模式。默认启动模式:问题是,当我从 B->A(带有向上按钮)导航时,重新创建了一个活动。我只想返回堆栈,因为它带有硬件后退按钮。

当我对 A、B、C 使用 singleTask 时,不会重新创建活动,但我不能从 A 回到 C。

任何建议如何解决它?谢谢

4

1 回答 1

0

尽管您的问题不是很清楚,但我假设您的堆栈当前是否

A->B->C

并且您想AC附加内容开始并传递一些数据,然后您希望堆栈看起来像这样:

B->C->A

要做到这一点,你只需A要从C这样开始:

Intent intent = new Intent(this, A.class);
intent.putExtra("key", "value); // Your extras
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);

这会将现有的实例A从堆栈的底部移动到堆栈的顶部,并使用包含“附加”的新实例调用onNewIntent()该实例。当用户按下 BACK 时,这将完成并返回到.AIntentAC

于 2016-12-30T15:12:39.570 回答