遍历堆栈中的活动

tpk*_*tpk 5 android android-activity

假设我在堆栈中有活动A,B,C的活动实例A1,B1,A2,B2,C1.如何从C1遍历Activity实例B1?

让我们概括一下B1和C1之间会有'n'个活动.

我不想从C1创建一个新的B实例.

Dav*_*ser 5

这对于Android来说实际上是一个非常糟糕的架构。如果您在 上创建多个实例Activity,则无法专门处理它们,例如:“返回到 的第一个实例ActivityB”。Android 不是这样设计的。

您应该避免创建Activity. 最好使用相同的实例,并通过交换底层数据来创建多个实例的“幻象”,并可能在显示器上添加状态转换,以便看起来您正在启动另一个实例Activity

另一种可能的解决方案是使用大量startActivityForResult()并向调用者返回Axctivity有关下一步做什么的信息。

有关更多详细信息,请参阅(即使这些问题专门与使用有关FLAG_ACTIVITY_REORDER_TO_FRONT,但问题仍然基本相同):