我对android backstack有疑问,请考虑我在同一个应用程序中有两个活动A和B的场景,
FLAG_ACTIVITY_NEW_TASK
从A发布B FLAG_ACTIVITY_NEW_TASK
我的问题是,backstack如何使用此标志,每次都创建新任务,并将上一个任务推送到后台或在同一任务之上创建活动。
我怀疑的是,如果第一个是正确的,那么后退按钮是否真的从堆栈顶部删除了活动,如果第二个是正确的,那么正确意义上该标志的使用是什么。
提前致谢。
此致 罗希特夏尔
答案 0 :(得分:2)
首先,使用FLAG_ACTIVITY_NEW_TASK
启动B将不创建新任务,除非您已在B的清单中明确设置android:taskAffinity
这样做的原因是,默认情况下,应用程序中的所有活动都具有相同的taskAffinity
和taskAffinity
覆盖FLAG_ACTIVITY_NEW_TASK
。
如果您已将A和/或B的taskAffinity设置为不同(或两者都为空),则其工作方式如下: