注:内容来自任玉刚的《Android开发艺术探索》
FLAG_ACTIVITY_NEW_TASK:
这个标记位的作用是为Activity指定“singleTask“启动模式,效果和在xml中指定该启动模式相同。
FLAG_ACTIVITY_SINGLE_TOP:
这个标记位的作用是为Activity指定“singleTop“启动模式,效果和在xml中指定该启动模式相同。
FLAG_ACTIVITY_CLEAR_TOP:
具有此标记位的Activity,当它启动时,在同一个任务栈中所有位于它上面的Activity都要出栈,一般需要和FLAG_ACTIVITY_NEW_TASK一起使用,在这种情况下,被启动的Activity的实例如果已经存在,那么系统就会调用他的onNewIntent方法。如果被启动的Activity使用的是standard启动模式,那么它连同它上面的Activity都要出栈,系统会创建新的Activity实例并放入栈顶。
FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
具有这个标记位的Activity不会出现在历史Activity的列表中,当某些情况下我们不希望用户通过历史列表回到我们的Activity的时候这个标记位比较有用。等同于在xml里面指定Activity的属性android:excludeFromRecents="true"。