对Intent.FLAG_ACTIVITY的部分理解

2021-03-04  本文已影响0人  王成er

//NEW_TASK: 对于非Activity启动的Activity(比如Service或者通知中启动的Activity)需要显示的设置.

//singleTask及singleInstance隐形的设置了的,启动模式是standard及singletTop没有被设置

//NEW_TASK有点复杂:见https://www.sohu.com/a/327655272_100004247

//CLEAR_TASK:必须配合NEW_TASK使用,CLEAR_TASK的优先级最高,基本可以无视所有的配置,包括启动模式及Intent Flag,哪怕是singleInstance也会被finish,并重建

//CLEAR_TASK+ NEW_TASK:(ABC)(DE) -> (DE)(B_)如果目标task已经存在,将清空已存在的目标Task,否则,新建一个Task栈,之后,新建一个Activity作为根Activity

//SINGLE_TOP:跟launchmode中的singleTop作用一样,在Task栈顶有的话,就不新建,调onNewIntent,栈顶没有的话,就新建。只管顶部

//CLEAR_TOP:(DE)(ABC)->(DE)(AB_) /  (ABC)(DE) -> (ABC)(DEB_)。不管其他栈,当前栈中有就finish掉B及之上的,新建一个B。

//CLEAR_TOP + NEW_TASK: (ABC)(DE) -> (DE)(AB_)

//CLEAR_TOP + NEW_TASK + SINGLE_TOP: (ABC)(DE) -> (DE)(AB) / (ABC)(DB) -> (ABC)(DB)

https://blog.csdn.net/Gdeer/article/details/89633199?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.baidujs&dist_request_id=&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.baidujs

上一篇 下一篇

猜你喜欢

热点阅读