注意点:
1、必须和FLAG_ACTIVITY_NEW_TASK结合使用,否则不起作用
2、属性值是一个字符串,只要满足包名的命名就可以,eg:“abcdfs.”, “dfsfe.fasdf.dfsf”,
但是直接用一个字符串不带“.”这个符号,则无法安装,会报错
Installation failed with message INSTALL_FAILED_USER_RESTRICTED: Invalid apk.
使用:
1、intent添加FLAG_ACTIVITY_NEW_TASK标志:
同一应用,相同亲和力,在同一任务栈创建打开activity;
同一应用,不同亲和力,在不同任务栈创建打开activity。
不同应用,不同亲和力,在不同任务栈中创建打开activity;
不同应用,相同亲和力,还是在不同一栈中创建打开activity!!!(验证的结果和网上搜到的不同)
2、intent设置allowTaskReparenting属性为true,亲和度都使用默认的:
应用1中 有activity one,应用2中 有activity two;
在应用2中启动activityone, activityone和应用2的活动 在 同一个任务栈中,
打开应用1启动activityone,activityone移动到应用1的活动任务栈里面作为栈顶了,设置此属性为true后,这个activity可以移动所在栈。
添加FLAG_ACTIVITY_NEW_TASK标志后,就是在不同的任务栈
allowTaskReparenting 为true,表示如果该activity进入后台后会re找到同名的task中,重新"宿主"进去,而false表示以启动它的task为准,默认为false