Activity-Flag标志位
Activity-Flag标志位
学习自
《Android开发艺术探索》
标志位漫谈
var intent: Intent = Intent(this, Test2Activity::class.java)
//添加标志位
intent.addFlags()
startActivity(intent)
在启动Activity的时候,我们可以通过 addFlags
来设置Activity的启动或是,控制Activity的运行状态。接下来我们可以了解一下比较常用的标志位。如果想要了解更多的标志位及其作用请参考官方文档。
FLAG_ACTIVITY_NEW_TASK
使用这个标志表示Activity以 singleTask
的方式启动。
FLAG_ACTIVITY_SINGLE_TOP
使用整个标志位表示Activity以 singleTop
的方式启动。
FLAG_ACTIVITY_CLEAR_TOP
现假设:
- 要启动TestActivity
- 启动TestActivity的标识位为 FLAG_ACTIVITY_CLEAR_TOP
其标识位的功能为,清除在任务栈中位于TestActivity上面的Activity,如果当前的启动模式是 standard 模式,那么是TestActivity本身也会被清除然后重新创建。
PS: __singleTask __启动模式已经包含CleanTop的效果。
FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
如果开启Activity时使用此标识符,如果这是用退出了程序,那么最近任务列表中,是不会出现此程序的。