-
taskAffinity
:指定task名字,默认为应用包名 -
alwaysRetainTaskState
:作用于一个task的原始RootActivity,决定是否一直保留Task最终状态,默认(false)用户离开一个应用task一段时间后(如 30分钟),OS会自动重设(精简)该task,销毁所有Activity并重置栈底的RootActivity。该项仅维护Task的最终状态(回到最后一个Activity),不保留中间的跳转Activity路径记录 -
finishOnTaskLaunch
:作用于一个task的非RootActivity,当用户通过点按应用图标重新打开App时,是否清除(finish)该Activity(使用Recent applications目录跳转回到App时无效) -
clearTaskOnLaunch
:作用于一个task的原始RootActivity,当用户从应用图标重新打开App时,是否清除task上的其他Activity元素,回归到根Activity(使用Recent applications目录跳转回到App时无效) -
launchMode="singleInstance"
:单Activity实例独占专用Task模式加载,该Task依附于当前应用Process,但退出到桌面再通过Recent applications目录回到App时,将回到最后打开的task,通过Back回退finish该Activity无法自动返回到前一个task的Activity,并且该Activity不受主task控制,即finishOnTaskLaunch之类的设置无效,同时onActivityResult也失效(resultCode返回为RESULT_CANCELED) -
noHistory
:一旦从该Activity导航至其他界面(包括Home键跳出),判断是否自动finish并从task移除该Activity实例 -
excludeFromRecents
:作用于一个task的原始RootActivity,控制该task是否显示在Recent列表中,如果该Activity独占专用task,则打开该Activity时该App不显示在Recent列表
※ RootActivity:通过该Activity开启新的Task栈时,该Activity才被认为是原始RootActivity。可通过Intent的Flag:FLAG_ACTIVITY_CLEAR_TASK 声明下个Activity为当前task的新Root,但无法得到作为原始RootActivity的身份。
因为针对于task的配置指定,仅在由RootActivity开启新task的时候生效。