Android 我怎样才能 "jump to another branch" 在 Activity 返回堆栈 "tree" 中?
Android How can I "jump to another branch" in the Activity back stack "tree"?
假设我有一个这样的堆栈:A->B->C->D->E 并且 E 中有一个弹出 E、D、C 并启动 F 的操作,这样我就结束了A->B->F.
如何构建这样的后台堆栈?我可以将 startActivity B 与 FLAG_ACTIVITY_CLEAR_TOP 一起使用,然后再使用 startActivity F 吗?第一个 startActivity 不会在他添加 F 之前关闭 E 吗?例如,我如何让 A->B->C 和 C 中的动作将其更改为 A->D->E?我可以将 PendingIntent 与 TaskStackBuilder 一起使用吗?
提前致谢! (顺便说一句,这是我的第一个问题!)
要将堆栈清除回 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 要启动什么新的 Activity。
假设我有一个这样的堆栈:A->B->C->D->E 并且 E 中有一个弹出 E、D、C 并启动 F 的操作,这样我就结束了A->B->F.
如何构建这样的后台堆栈?我可以将 startActivity B 与 FLAG_ACTIVITY_CLEAR_TOP 一起使用,然后再使用 startActivity F 吗?第一个 startActivity 不会在他添加 F 之前关闭 E 吗?例如,我如何让 A->B->C 和 C 中的动作将其更改为 A->D->E?我可以将 PendingIntent 与 TaskStackBuilder 一起使用吗?
提前致谢! (顺便说一句,这是我的第一个问题!)
要将堆栈清除回 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 要启动什么新的 Activity。