我的应用程序具有逻辑活动层次结构,如下所示:
我正在尝试浏览活动,同时检查他们是否正在运行。例如:
主菜单>活动A1>活动A2。
现在,如果我回到主菜单,有没有办法检查活动A2是否已经在运行,如果是,直接跳转到该活动?
我认为将android:launchMode="singleTask"
设置为活动A1可能会解决问题,并阅读android:allowTaskReparenting
属性。但我不确定用什么来达到我想要的目的。
答案 0 :(得分:1)
使用一个主机Activity(作为导航控制器)和许多片段会更容易。当前片段将回调到Activity,因此它将决定如何在图表上导航。
如果您真的想要坚持使用许多活动的图表,默认行为 - 同一进程中的所有活动都将处于活动状态。 Android操作系统只能清理/杀死进程,而不是活动(文档有点含糊不清)。您可以使用Intent。FLAG_ACTIVITY_NO_HISTORY进行中间活动,因此只有root用户才能进入堆栈。
有一种方法可以使用ActivityManager来调查返回堆栈,但已弃用。