8.4 Intent Flag启动模式" class="reference-link">8.4 Intent Flag启动模式
前面说了,系统提供了两种方式来设置一个Activity的启动模式,下面要讲的就是通过设置Intent的Flag来设置一个Activity的启动模式。
下面来介绍一些常用的Flag。
- Intent.FLAG_ACTIVITY_NEW_TASK
使用一个新的Task来启动一个Activity,但启动的每个Activity都将在一个新的Task中。该Flag通常使用在从Service中启动Activity的场景,由于在Service中并不存在Activity栈,所以使用该Flag来创建一个新的Activity栈,并创建新的Activity实例。
- FLAG_ACTIVITY_SINGLE_TOP
使用singletop模式来启动一个Activity,与指定android:launchMode="singleTop"效果相同。
- FLAG_ACTIVITY_CLEAR_TOP
使用SingleTask模式来启动一个Activity,与指定android:launchMode="singleTask"效果相同。
- FLAG_ACTIVITY_NO_HISTORY
使用这种模式启动Activity,当该Activity启动其他Activity后,该Activity就消失了,不会保留在Activity栈中,例如A-B,B中以这种模式启动C,C再启动D,则当前Activity栈为ABD。
