Android 从另一个任务启动singleTop活动

Android 从另一个任务启动singleTop活动,android,Android,我在理解带有启动活动的单顶标志时遇到一些问题 在我的应用程序中,我有两项任务: Task 1 : A,B,C,D Task 2 : X,Y,Z 除活动D外,所有活动都是启动的“标准”模式,她有“单打”模式 两个任务都在运行。 任务1[A、B、C、D] Task2[X,Y,Z] 现在是Z活动已打开。如果我从activityZ运行activityD,我的堆栈会是什么样子?假设实际上有两个不同的应用程序(如您在评论中所述),并且activity D在清单中没有定义特定的android:taskAf

我在理解带有启动活动的单顶标志时遇到一些问题

在我的应用程序中,我有两项任务:

Task 1 : A,B,C,D

Task 2 : X,Y,Z
除活动D外,所有活动都是启动的“标准”模式,她有“单打”模式

两个任务都在运行。

任务1[A、B、C、D]
Task2[X,Y,Z]


现在是Z活动已打开。如果我从activityZ运行activityD,我的堆栈会是什么样子?

假设实际上有两个不同的应用程序(如您在评论中所述),并且activity D在清单中没有定义特定的
android:taskAffinity
,那么将发生以下情况:

  • 如果活动Z在没有任何特殊意图标志的情况下启动活动D,则活动D的新实例将被启动到任务2中,以便任务2中的活动堆栈将包含[X,Y,Z,D]

  • 如果活动Z启动活动D并设置意图。启动时标记活动新任务,任务2将进入后台,任务1将进入前台,
    onNewIntent()
    将调用任务1中活动D的现有实例,然后
    onResume()将对任务1中活动D的现有实例调用
    。将不会创建活动D的新实例


看看这个@mohammedmomn线程,我的任务2将有一个堆栈XYZD?你如何有两个任务?为什么你有两个任务?我希望您认识到,应用程序中有多个任务会给导航带来很多问题。此外,如果用户转到最近的任务列表,他们是否能够导航回您的每个任务?@DavidWasser 2 tasks这意味着两个应用程序在不同的任务中。