Android 如何更改活动历史记录

Android 如何更改活动历史记录,android,android-activity,Android,Android Activity,共有六个活动A、B、C、D、E和F。每个活动都已按以下顺序打开:A、B、C、D、E、F。当我现在从活动F转到活动B时,我希望随后按下“后退”按钮打开活动A。如何实现此结果?您可以使用意向标志实现此目的 从活动F开始活动B时,在意图中使用标志 Intent i = new Intent(context, B.class); i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); Intent.FL

共有六个活动A、B、C、D、E和F。每个活动都已按以下顺序打开:A、B、C、D、E、F。当我现在从活动F转到活动B时,我希望随后按下“后退”按钮打开活动A。如何实现此结果?

您可以使用意向标志实现此目的

从活动F开始活动B时,在意图中使用标志

Intent i = new Intent(context, B.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
Intent.FLAG\u ACTIVITY\u CLEAR\u TOP
将导致完成所有中间活动(C、D和F),而
Intent.FLAG\u ACTIVITY\u SINGLE\u TOP
将确保返回到活动B的同一实例

如果要完成活动B并创建新实例,请删除
Intent.FLAG\u activity\u SINGLE\u TOP

您还可以更改活动B
launchMode
而不是使用
Intent.FLAG\u activity\u SINGLE\u TOP


在开始活动D之前调用finish()方法来完成活动C。在活动B中按back键将带您到活动A,因为它就在活动A的上方。AngadSingh的建议会起作用。但是,我们需要更多关于活动B到活动F之间要发生什么的信息。例如,如果在活动D打开时按下“上一步”按钮时要返回到活动C,则调用
finish
不是解决方案。请编辑您的问题,以便更完整地解释活动流程。