android - 在我的案例中如何控制/修改 Activity 堆栈

标签 android android-activity

我有以下 Activity 堆栈:A->B->C->D

在 Activity D中,将启动一个新的 Activity E。是否可以将 Activity 堆栈更改为 A->E(因此,如果用户按回键,他们将转到 Activity A)?

附加信息:我不希望 D、E 依赖于 A。因此覆盖 E 的 onBackPressed 以直接启动 A 或使用 CLEAR_TOP 标志从 D 启动 A 然后转到 E 不是一个选择。

最佳答案

好的,根据您的要求,可以使用 startactivityforresult 和 onActivityResult 让我解释一下

1.首先调用A给B 2.从B调用startactivityforresult C,同样在B中添加onActivityResult来处理result 3.从 C 调用 D 作为步骤 2。 4. 现在,当您从 D 调用 E 时,只需完成 D 和 setResult(RESULT_OK) 6.现在在 Activity C 中调用 onActivityResult 在那里检查结果是否正常并完成 Activity 和 setResult(RESULT_OK) 与 B 相同

在这里你得到堆栈 A 到 E。

了解更多信息 http://developer.android.com/training/basics/intents/result.html 如果有任何问题让我知道

关于android - 在我的案例中如何控制/修改 Activity 堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34290925/

相关文章:

android - Dagger 回收 View 布局管理器注入(inject)

安卓 achartengine getCubeLineChartView : add series with different smoothness

android - 将 Jetpack Compose 升级到 1.0.0-beta07 后出现 java.lang.NoSuchMethodError

android - Kotlin 中的 getCurrentLocation() 方法?

android - 蓝牙:没有广播 ACTION_FOUND 或 ACTION_DISCOVERY_FINISHED

android - 如何检查一个 Activity 是否是应用程序 Activity 堆栈中的最后一个 Activity ?

android - 如果从 Home 或 Background 打开,应用程序不会恢复并再次从 Main Activity 启动

Android MediaPlayer - 在任何给定时间只有一个实例?

java - android:使用xml页面创建一个新的 Activity

java - 拍照后显示 fragment