Android多任务显示
第一种方式,添加Flag
在目标清单文件中添加属性值
1 | <Activity |
在使用Intent跳转页面时,给Intent添加如下Flag,即启动后以新的任务窗口显示在后台中
1 | Intent intent = new Intent(this, VideoMainActivity.class); |
第二种方式,配置清单文件
documentLaunchMode(启动模式):
- intoExisting: 如果之前已经打开过,则会打开之前的(类似于 Activity 的 singleTask);
- always: 不管之前有没有打开,都新创建一个(类似于 Activity 的 standard);
- none: 不会在任务列表创建新的窗口,依旧显示单个任务;
- never: 不会在任务列表创建新的窗口,依旧显示单个任务,设置此值会替代 FLAG_ACTIVITY_NEW_DOCUMENT 和 FLAG_ACTIVITY_MULTIPLE_TASK 标志的行为(如果在 Intent 中设置了其中一个标志)。
注意:对于除 none 和 never 以外的值,必须使用 launchMode="standard" 定义 Activity。如果未指定此属性,则使用 documentLaunchMode="none"
excludeFromRecents(离开是否从任务列表移除):
- false: 离开页面不会从任务列表移除该页面(默认值)
- true: 离开页面后,将会从任务列表移除该页面
maxRecents(设置应用能够包括在概览屏幕中的最大任务数):
整型值,默认为16,上限为50,达到最大任务数后,最近最少使用的任务将从概览屏幕中移除
1 | <activity |
第三种方式,配置清单文件
给Activity添加一个taskAffinity属性,这样的好处是,taskAffinity属性值相同的Activity之间相互跳转不会启用新的任务窗口
如果使用该方式,launchMode属性的值不可为standard,否则将不会生效
1 | <activity |