Intent.FLAG_ACTIVITY_NEW_TASK正在做我们认为应该做的事?

时间:2018-08-30 05:33:04

标签: android android-intent intentfilter android-task

看起来像我们在网络上找到的每个教程都提到,FLAG_ACTIVITY_NEW_TASK在任务中当前未运行“正在启动的活动”时会启动一个新任务。但是似乎使用{{1} }始终不会创建新任务,仅当没有可用的任务供我们运行时才创建新任务,例如当我们使用{{1}从FLAG_ACTIVITY_NEW_TASK开始活动时}}。

根据网络上的所有教程,

假设我们在BackStack中有以下活动-

BroadCastReceiver

现在,如果我们要启动一个新的活动D,那么它应该在一个新任务中启动,但这似乎没有发生,并且活动D是在同一任务中启动的,我们已经退出了最后的堆栈

onReceive()

可以澄清的任何人吗?

我知道设置taskAffinity将强制创建新任务,但这带来了另一个问题:

尝试一下:

假设我们启动两个活动:

A->B->C

然后我们再次使用android:taskAffinity **启动另一个Activity,所以现在我们有了**

A->B->C->D

再次,我们开始A-B ,所以现在我们的BackStack看起来像:

A-B | C
A-B (on the same task)
C (on other task)

现在,问题是,如果我们再次尝试从B(从任务C-A-B)启动C,则什么也不会发生,并且C将无法启动(我不知道为什么?)

0 个答案:

没有答案