有六种活动A,B,C,D,E和F.它们按以下顺序打开:A,B,C,D,E,F。当我现在从活动F转到活动B时,我希望随后按下后退按钮打开活动A.如何实现这一结果?
您可以使用Intent标志来实现此目的。
从活动F启动活动B时,在意图中使用标记。
Intent i = new Intent(context, B.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
Intent.FLAG_ACTIVITY_CLEAR_TOP
将导致所有中间活动完成(C,D和F),Intent.FLAG_ACTIVITY_SINGLE_TOP
将确保您返回到活动B的相同实例。
如果要完成活动B并创建新实例,请删除Intent.FLAG_ACTIVITY_SINGLE_TOP
你也可以改变活动B launchMode
而不是使用Intent.FLAG_ACTIVITY_SINGLE_TOP
Here是关于此事的更多信息