我对使用FLAG_ACTIVITY_CLEAR_TASK
与FLAG_ACTIVITY_NEW_TASK
的组合非常困惑。难道FLAG_ACTIVITY_CLEAR_TASK
不应该只清除目标任务而不是调用者任务吗?
假设我有以下导航:
A -> B -> C
当
B
用FLAG_ACTIVITY_NEW_TASK
和FLAG_ACTIVITY_CLEAR_TASK
调用C
时,这将如何清除栈中的A
和B
?我知道这是发生了,因为我测试过(如果我在C
上点击返回,我就离开了应用程序),但我不完全明白原因...A
和B
是不属于将创建C
的任务的不同任务的一部分。
FLAG_ACTIVITY_CLEAR_TASK
如果在传递给Context.startActivity()的Intent中设置了此标志,则在启动Activity之前,将清除与该Activity关联的任何现有任务。也许上面加粗的文字意味着调用者和目标任务被清除。我不确定"associated"会是什么意思。