Kai*_*Kai 5 android android-activity
假设当前任务堆栈有四个活动实例,A0,A1,B0,C0,堆栈顶部有C0.A0,A1是活动A的实例,B0是活动B的实例,而C0是活动C0的实例.
现在C0用FLAG_ACTIVITY_REORDER_TO_FRONT创建一个intent并启动Activity A:
Intent intent = new Intent(this, A.class);
intent.setFlag(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
我的问题是,哪个实例将被带到前面,A0或A1?任务堆栈是否会变为A0,B0,C0,A1或A1,B0,C0,A0?
谢谢.
经验证据表明,它将最近的实例放在前面。在您的示例中,如果活动堆栈像这样开始:
A0, A1, B0, C0 (front of task)
Run Code Online (Sandbox Code Playgroud)
C0 以 开始 A Intent.FLAG_ACTIVITY_REORDER_TO_FRONT,实例 A1 被带到前面,活动堆栈现在如下所示:
A0, B0, C0, A1
Run Code Online (Sandbox Code Playgroud)
当您使用此标志时,Android 会查找此 Activity 的实例(从任务的前面开始,扫描到任务的后面/根部)。它找到的第一个实例将被带到前面。如果它在活动堆栈中找不到任何实例,它将创建一个新实例。
| 归档时间: |
|
| 查看次数: |
1020 次 |
| 最近记录: |