Nic*_*oso 3 android android-intent launchmode android-activity
我有一个带有MainActivity和ChildAaActivity的应用程序ChildBbActivity。
MainActivity 可以将我们发送到任一子活动,并且用户可以根据需要在两个子活动之间移动。
但是,其中每一项活动只能有一个实例。
问题是,如果我创建子活动singleInstance,那么它们都是单独的任务,切换到另一个应用程序并返回到子活动意味着onBackPress我退出该应用程序(当我应该返回 MainActivity 时)
如果我launchMode按照标准离开,那么我会得到多个子活动实例,尤其是在两个孩子之间来回移动时。
如果我使用singleTop,那么我就会遇到这两个问题
如果我noHistory对孩子们使用,我无法在他们之间自由移动(第一次后按将使我返回到 MainActivity)
使用isTaskRoot()显然不会修复singleInstance应用程序退出错误,因为它始终为真(并且对于其他场景没有用)
我应该如何正确实现我需要的行为?
您不需要任何特殊的启动模式。每当你启动一个 child 时Activity,请使用以下标志:
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
Run Code Online (Sandbox Code Playgroud)
这会将现有实例移动Activity到任务堆栈的前面(如果有),或创建一个新实例(如果不存在现有实例)。
| 归档时间: |
|
| 查看次数: |
1317 次 |
| 最近记录: |