个人笔记

446 阅读1分钟
遇到的问题总结: 

 1、问:两个应用互相跳转时,因为activity设置了singletask模式导致跳转时出现短暂黑屏。例如应用A跳转至应用B的activity C,C设置了singletask。

 答:将activity C在manifest里加入

 android:allowTaskReparenting="true"

android:taskAffinity="A的任务栈(默认即包名)"

即可解决。两个属性可以理解为:任务栈是否能转移、转移的任务栈名称,这两个属性只有和singletask一起使用才有意义。因为设置了activity C 设置了singletask属性,那么系统将为activity创建一个独立的任务栈,不在应用A的栈里,所以会出现黑屏;让C可以转移到A的栈里,这样在同一个栈,相当于是在同一个应用里,就不会出现进程间的切换跳转效果和黑屏现象。