首页 > 解决方案 > 是否可以更改堆栈中 Activity 组的位置?

问题描述

我有一堆活动(A - B - C - D)。在某些时候,D尝试调用C(为此使用框架)。 反过来,活动 CIntent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS使用标志(通过框架)调用。在我的应用程序中,此活动android:launchMode = "singleTask"位于AndroidManifest.xml文件中。因此,活动D在C启动时被销毁。(A - B - Df - C) -> (A - B - C)。下面的句子解释了为什么会发生这种情况。

如果任何 Task 中存在 Activity 实例,则整个 Task 将被移到顶部,并且放置在 singleTask Activity 之上的每个单个 Activity 都将随着生命周期而被销毁。

然后活动C再次导致活动D。问题是重新创建了活动D。但我需要所有活动保持原样,不要翻转。但是我不能拒绝调用活动C,因为它是从我无法更改的框架中调用的。

有没有一种方法,Intent.FLAG_REORDER_TO_FRONT但一次只针对 Activity 组?在这种情况下,对于活动CD,并保持它们的顺序。或者可能是另一种可能的解决方案。

标签: androidandroid-intent

解决方案


推荐阅读