- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
假设当前任务栈有4个Activity实例A0、A1、B0、C0,C0在栈顶。 A0、A1是Activity A的实例,B0是Activity B的实例,C0是Activity 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);
我的问题是,哪个实例会被放在前面,A0 还是 A1?任务栈会变成A0、B0、C0、A1还是A1、B0、C0、A0?
谢谢。
最佳答案
经验证据表明它将最近的实例带到了前面。在您的示例中,如果 Activity 堆栈像这样开始:
A0, A1, B0, C0 (front of task)
并且 C0 以 Intent.FLAG_ACTIVITY_REORDER_TO_FRONT
开始 A,实例 A1 被带到前面, Activity 堆栈现在看起来像这样:
A0, B0, C0, A1
当你使用这个标志时,Android 会寻找这个 Activity 的一个实例(从任务的前面开始,扫描到任务的后面/根)。它找到的第一个实例将被带到前面。如果它在 Activity 堆栈中找不到任何实例,它将创建一个新实例。
关于android - 多个 Activity 实例和 FLAG_ACTIVITY_REORDER_TO_FRONT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4949898/
我有一个带有项目列表的 FragmentActivity,当应用程序在后台运行时,可以推送到该项目列表。 发生这种情况时,我想创建一个状态栏通知并提醒用户更新。 当用户单击通知时, Activity
我遇到了一个关于 FLAG_ACTIVITY_REORDER_TO_FRONT 的奇怪问题。我有 2 个 Activity ,A 和 B。A 有一个按钮可以移动到 B,B 有一个按钮可以移动到 A。我
Activity A使用startActivityForResult启动B,B使用startActivity启动C。之后, Activity 堆栈为 A B C。 现在假设,C 使用 FLAG_ACT
我正在尝试从服务中调用一个 Activity ( Activity A),我想要发生的是检查堆栈上是否已经存在 A 的实例,如果有,将其带到堆栈的顶部(并且触发 onNewIntent() 方法),而
我现在正在创建如下两个 Activity ,当单击 MainActivity 中的按钮时它显示 SecondActivity,单击 SecondActivity 中的按钮时正常显示 MainActiv
我有 2 个 Activity (A 和 B),它们有 2 个按钮可以在它们之间切换。 一个oncreate B oncreate oncreate 简历 我想做的是在将 Intent 从 B 发送到
我有一些 Activity :A、B、C、D ...在每个 Activity 上,它都有启动其他 Activity 的按钮。所以: A可以启动B、C、D; B可以启动A、C、D; ... 我不想创建这
假设当前任务栈有4个Activity实例A0、A1、B0、C0,C0在栈顶。 A0、A1是Activity A的实例,B0是Activity B的实例,C0是Activity C0的实例。 现在 C0
我有两个屏幕,A 和 B。屏幕 A 有一个启动 Activity B 的按钮,屏幕 B 有一个启动 Activity A 的按钮。 预期的行为是,如果 Activity 在后台堆栈中可用,则应将其重新
我有一个半透明主题的 Activity : android:theme="@android:style/Theme.Translucent.NoTitleBar" 这个问题也可以通过这个主题重现:
在我的游戏中,当用户决定将屏幕从消息屏幕切换到个人资料屏幕时,我想确保用户可以切换屏幕并能够保持之前的 Activity 。 所以我有这段代码: Intent intent = new Intent(
我的 Activity 堆栈是 A1 B A2,A2 在顶部。 A1 和 A2 是同一个 Activity A 的实例。现在在 A2 中,我希望 A2 退出并将 A1 放在前面,因此最终堆栈应该是 B
我在堆栈中有两个 Activity ,为了显示它们,我使用了 FLAG_ACTIVITY_REORDER_TO_FRONT。到目前为止一切顺利,当我想使用 overridePendingTransit
当推送通知到达时,我需要将应用程序从后台带到前台。这段代码 在 11 之前的版本上运行良好。 @Override public void onMessageReceived(RemoteMessage
我有一个应用程序,调用“App1”。在我的 App1 中,我调用了相机应用程序。 intent = new Intent(Intent.ACTION_MAIN); intent.setComponen
最近,我遇到了重新启动已经在后台堆栈中的 Activity 的问题。国旗FLAG_ACTIVITY_REORDER_TO_FRONT是管理此问题的最佳解决方案。但在 Android 4.4 及更高版本
我的目标是让两个 UI Activity 保持 Activity 状态,并在它们之间随意来回切换,而不必终止/重新启动其中任何一个。但是使用 FLAG_ACTIVITY_REORDER_TO_FRON
我是一名优秀的程序员,十分优秀!