Android 将意图发送到自杀的活动

Android 将意图发送到自杀的活动,android,android-intent,android-activity,back-stack,Android,Android Intent,Android Activity,Back Stack,假设我从调用活动B的活动A开始,任务看起来像A->B,B在顶部。 B发送一个启动活动C的意图,并在将该意图发送给C后,B在自身上调用finish()。所以堆栈看起来像A->C 现在,当我向活动B发送带有标志_Activity_NEW_TASK的意图时,我注意到它的onCreate()没有被调用。但是,当我将flag-flag\u-ACTIVITY\u-CLEAR\u-TOP与前面提到的一个一起添加时,它起了作用 2个问题: 为什么它不能只标记活动和新任务 标志、活动、清除、顶部有什么变化 我已经

假设我从调用活动B的活动A开始,任务看起来像A->B,B在顶部。 B发送一个启动活动C的意图,并在将该意图发送给C后,B在自身上调用finish()。所以堆栈看起来像A->C

现在,当我向活动B发送带有标志_Activity_NEW_TASK的意图时,我注意到它的onCreate()没有被调用。但是,当我将flag-flag\u-ACTIVITY\u-CLEAR\u-TOP与前面提到的一个一起添加时,它起了作用

2个问题:

  • 为什么它不能只标记活动和新任务
  • 标志、活动、清除、顶部有什么变化

  • 我已经阅读了这两个标志的官方文档,但无法将解释与上述场景联系起来。

    您需要添加代码,显示启动机制。因为不清楚您是如何启动活动的。我的意思是你使用的标志,以及你在“向C/A/B发送意向”下的意思是根活动,所有剩余的活动都是通过按照上面提到的顺序向它们发送明确的意向来启动的。很抱歉代码太大,因此我只想理解这里涉及的概念。所以,没关系。您使用明确的意图来启动活动。您是否在清单中的活动声明中使用了一些启动模式?是的。启动模式为“单顶”模式