如何从堆栈调用活动而不是启动新实例? 这是一个场景:
答案 0 :(得分:1)
如果我正确理解您的观点,您可以使用finish();
简单地退出您的活动B和C.
因此,如果ActivityC完成,还有ActivityB,ActivityA应该出现在前面,这应该是你想要的。
答案 1 :(得分:0)
尝试使用FLAG_ACTIVITY_REORDER_TO_FRONT。例如:
Intent intent = new Intent(BActivity.this, AActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
来自javadocs:
public static final int FLAG_ACTIVITY_REORDER_TO_FRONT
在API中添加 3级如果在传递给Context.startActivity()的Intent中设置,则此标志将为 导致已启动的活动被带到其任务的前端 历史堆栈,如果它已经在运行。
例如,考虑一项由四项活动组成的任务:A,B,C, D.如果D调用具有解析为的Intent的startActivity() 活动B的组成部分,然后B将被带到前面 历史堆栈,使用此结果顺序:A,C,D,B。此标志将 如果还指定了FLAG_ACTIVITY_CLEAR_TOP,则忽略它。