如何处理彼此交互的多个活动?

时间:2012-04-27 13:50:22

标签: java android android-activity

我有一个有4或5个活动的应用程序!让我们说A,B,C,D和E.

或多或少可以从每个活动跳到其他所有活动!

让我们说用户去A - > B - > E - > d。

现在他想打开B(再次)。我现在希望我的应用程序能够识别,活动堆栈中已经存在一个活动B并重新激活它(或者至少完成旧B并创建一个新B)。

我不想在创建新活动时完成所有活动,因为用户可能经常使用后退按钮。

可能的解决方案是:自己创建一个活动堆栈并以捆绑方式处理它或使用一些静态结构。

但必须有一个更简单/更好的方式,是吗?

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

您可以在清单中的启动模式标记中使用singleInstance值或singleTask值。

android:launchMode=["multiple" | "singleTop" |"singleTask" | "singleInstance"]

According to android developers fundamentals

singleTasksingleInstance模式在某方面也各不相同:

singleTask活动允许其他活动成为其任务的一部分。它始终是其任务的根源,但其他活动(必须standardsingleTop活动)可以启动到该任务中。

另一方面,singleInstance活动不允许其他活动成为其任务的一部分。这是任务中唯一的活动。如果它启动另一个活动,则该活动将分配给另一个任务 - 就好像FLAG_ACTIVITY_NEW_TASK在意图中一样。

相关问题