1、taskAffinity与allowTaskReparenting联合使用
allowTaskReparenting 如果为false,此情况下也就没多大意义了。倘若为true,如果当此Activity 进入后台时候(home键),就会移入taskAffinity指定的task任务中。比如 :你的app1打开浏览器activity1--->home键,打开浏览器应用,就会显示activity1。
注意:如果launcheMode:singleTask,为浏览器应用的rootTask。如果为Standar则不是。
2、taskAffinity与launchMode之间的关系
launchMode 为singleTask的情况下关系才体现的出来。在之前的博客中《
Android启动模式:singleTask的深究
》提到的 singleTask并不一定创建新的task的问题。其根本的原因在于:当启动singleTask的Activity时候,就会寻找taskAffinity(默认值为app指定的,如果没有就是包名) 所指定的任务名称,如果不存在,则就会新建task,如果存在则执行clearTop操作,并在此task中启动此Activity。(为啥说只和singleTask有关系,其他模式:standar模式启动,此Activity的所在的task为启动它的应用所在的task。singleTop同样如此。singleInstance,单例。为了保持此task仅有一个实例,此模式下,此属性忽略。)