Android 如何在 Activity 返回堆栈 "jump to another branch"中返回 "tree"?

标签 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 吗?第一个 startActivity 不会在他添加 F 之前关闭 E 吗?例如,我如何让 A->B->C 和 C 中的 Action 将其更改为 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。

关于Android 如何在 Activity 返回堆栈 "jump to another branch"中返回 "tree"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28098438/

相关文章:

android - Android O 中的 WebView 崩溃

java - 有关 Android Activity/Intent 行为的混合问题

Android,开始一个新的 Activity 并传递一个变量

android - "smart"从推送通知激活 android

Android TextView 文本溢出指示器?

android - Android驱动开发的一些问题

java - 无法将搜索栏与文本关联起来

Android Fragment 返回堆栈

android - 如何压缩与 fragment 标签匹配的后台 fragment ?

android - 使用 PreferenceFragment 构建的设置页面中的工具栏