看起来像我们在网络上找到的每个教程都提到,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将无法启动(我不知道为什么?)