java - Android:浏览 Activity 层次结构

标签 java android navigation

我的应用程序有一个逻辑 Activity 层次结构,如下所示:

Activity Hierarchy

我正在尝试在 Activity 之间导航,同时检查它们是否正在运行。例如:

主菜单 > Activity A1 > Activity A2。

现在如果我回到主菜单,有没有办法检查 Activity A2 是否已经在运行,如果是,直接跳转到那个 Activity?

我认为将 android:launchMode="singleTask" 设置为 Activity A1 可能会成功,并阅读有关 android:allowTaskReparenting 属性的信息。但我不确定到底要用什么来实现我想要的。

最佳答案

使用一个宿主 Activity(作为导航 Controller )和许多 Fragment 会更容易。当前 fragment 将回调到 Activity,因此它将决定如何在您的图表上导航。

如果你真的想坚持使用许多 Activity 的图表,默认行为 - 同一进程中的所有 Activity 都将处于 Activity 状态。 Android 操作系统只能清理/终止进程,不能清理 Activity (文档对此有点含糊)。你可以使用 Intent 。 FLAG_ACTIVITY_NO_HISTORY对于中间 Activity ,因此只有根 Activity 会在堆栈上。

有一种方法可以使用 ActivityManager 调查返回堆栈, 但它已被弃用。

关于java - Android:浏览 Activity 层次结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36775734/

相关文章:

c# - 如何在 Unity 中从 sdcard 写入/读取 txt 文件?

android - Unity3D Android 应用程序在所有手机上立即崩溃。

android - Android 中 View 导航的设计模式?

css - 下拉子菜单与主菜单栏宽度相同

java - 后台、Java 和初始化脚本

java - 线程池执行器 : : TaskRejectedException from Executor

JavaPreparedStatement和AlterTable语法错误

java - 构造函数中的多态方法 (Java)

android - 在锁定屏幕上显示通知

html - 为什么要用列表来做导航菜单而不是按钮呢?