Android我怎样才能跳到另一个分支"在Activity back stack" tree"?

时间:2015-01-22 20:49:57

标签: android android-activity back-stack

我们说我有这样的堆栈:A-> B-> C-> D-> E并且E中有一个弹出E的动作,D,C并开始F,以便我最终得到A-> B-> F。

我如何构建这样的后台?我可以将startActivity B与FLAG_ACTIVITY_CLEAR_TOP一起使用,然后使用startActivity F吗?在他添加F之前,第一个startActivity是否会关闭?例如,我怎样才能使A-> B-> C并且C中的动作将其改变为A-> D-> E?我可以使用PendingIntent和TaskStackBuilder吗?

提前致谢! (顺便说一句,这是我的第一个问题!)

1 个答案:

答案 0 :(得分:0)

要将堆栈清除回B然后启动F,请执行以下操作:

Intent intent = new Intent(this, B.class);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("startF", true);
startActivity(intent);

B.onNewIntent()执行此操作:

if (intent.hasExtra("startF") {
    Intent startF = new Intent(this, F.class);
    startActivity(startF);
}

你可以在整个地方使用这个概念在堆栈中返回某个Activity,并告诉Activity要启动什么新活动。