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

现假设:

  1. 要启动TestActivity
  2. 启动TestActivity的标识位为 FLAG_ACTIVITY_CLEAR_TOP

其标识位的功能为,清除在任务栈中位于TestActivity上面的Activity,如果当前的启动模式是 standard 模式,那么是TestActivity本身也会被清除然后重新创建。
PS: __singleTask __启动模式已经包含CleanTop的效果。

FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS

如果开启Activity时使用此标识符,如果这是用退出了程序,那么最近任务列表中,是不会出现此程序的。

posted @ 2018-06-27 16:48  鲁迅认识的那只猹  阅读(911)  评论(0编辑  收藏  举报