问题标签 [activity-stack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
7853 浏览

android - 防止活动堆栈被恢复?

当应用程序的进程被杀死时,它的活动堆栈被保存。然后,当应用程序重新启动时,我的所有活动都会恢复并运行到空指针中。与其修改每个活动以适应此事件,我宁愿让我的应用程序从基本活动开始,而不是尝试重新创建活动堆栈。

这可能吗?

我知道 Intent.FLAG_ACTIVITY_CLEAR_TOP,但据我所知,这只会在重新创建活动后杀死活动。

编辑:clearTaskOnLaunch是我想要的吗?我已将其添加到我的默认活动中,但没有看到任何效果。但这会杀死我的活动,即使我只是最小化应用程序,不是吗?如果整个过程正在重新启动,我宁愿只清除堆栈。

编辑 2:不,这不是我想要的 - Android 工程师对有关如何使用 ClearTaskOnLaunch 的一些问题做出了彻底的回应:http ://groups.google.com/group/android-developers/browse_thread/thread/da024bcaf4e1960f/ab1e2b35c360cb65 ?pli=1

0 投票
3 回答
915 浏览

android - 如何显示活动堆栈中的活动

我需要一些关于活动堆栈的帮助。

在我的应用程序中,我有 6 个屏幕用户导航

当我进入 4 屏幕时,我有取消按钮

当用户单击该按钮时,它应该转到第二个屏幕并

当用户单击键盘上的后退按钮时,它应该转到已经在活动堆栈中的 1 个屏幕如何执行此操作。

请给我一个例子。

0 投票
2 回答
2095 浏览

android - 活动和子活动

我的应用程序有 5 个不同的活动(将它们命名为 A、B、C、D、E),并且有一个菜单(由屏幕底部的按钮制作),用于在 A、B...E 之间切换

当我显示 A 时,有一些按钮,用户可以通过它在 A 顶部进行另一个活动 A1,然后从那里进入 A12,所以我的活动堆栈类似于 A>A1>A12,现在用户单击B 的菜单按钮,然后他从那里继续 B1。(堆栈就像 A>A1>A12>B>B1)现在如果用户按下按钮切换回 A,那么它应该显示 A12,因为它在 A 的顶部。

我该如何管理这个scanario?我一点提示都没有

0 投票
3 回答
5491 浏览

android - 不能在一个意图中同时设置 FLAG_ACTIVITY_SINGLE_TOP 和 FLAG_ACTIVITY_CLEAR_TOP?

我正在使用标志FLAG_ACTIVITY_SINGLE_TOPFLAG_ACTIVITY_CLEAR_TOP回到我以前的“标准”活动。我FLAG_ACTIVITY_SINGLE_TOP用来防止重新创建一个新实例。但我发现标志FLAG_ACTIVITY_SINGLE_TOP被忽略,活动完成并重新创建。

  • 这是我在文档中找到的。FLAG_ACTIVITY_CLEAR_TOP:它表示您可以FLAG_ACTIVITY_SINGLE_TOP在使用时添加FLAG_ACTIVITY_CLEAR_TOP以防止“完成 - 重新创建”。

  • 这是另一个文档。FLAG_ACTIVITY_CLEAR_TOP

    注意:如果指定活动的启动模式是“标准”,它也会从堆栈中删除,并在其位置启动一个新实例以处理传入的意图。这是因为当启动模式为“标准”时,总是会为新意图创建一个新实例。

我误解了第一个文档吗?

0 投票
2 回答
474 浏览

android - 三个活动堆栈

我试图弄清楚如何实现一个有趣的概念。

假设我的应用程序底部有一个带有 3 个按钮的栏。我们将它们称为 A、B、C。我希望您将它们视为应用程序的 3 个区域,每个区域都有自己的 Activity 堆栈。

假设我按 B,我首先被带到 B 主屏幕。假设这个屏幕中有一些功能可以将我带到另一个屏幕,比如列表中特定项目的详细信息。

现在,在详细信息屏幕上,我按下底部的按钮 C,然后我被带到 C 主屏幕。

如果我按 B(按后退按钮),我希望用户被带到 B Activity 堆栈中的最后一个屏幕,即详细信息屏幕,而不是主 B 屏幕。

这可能吗?如果我理解正确的话,我应该有 3 个任务,A 1 个,B 1 个,C 1 个,是吗?我还需要做什么?

0 投票
0 回答
1455 浏览

android - 在 Task 中启动 Activity

Android中是否有任何方法可以在当前活动上启动活动而不是到任务的顶部。

例如,我们有活动 A -> B -> C,在 B 中我们开始新的活动 D。
我们可以得到订单 A -> B -> D -> C 吗?

谢谢!

0 投票
1 回答
4842 浏览

android - Android:如何在onStop之后返回具有“noHistory”属性的Activity?

我正在寻找一种从历史堆栈中删除某个活动的方法,并在此处找到了解决方案(Wakkas 的答案)。但是,如果我在打开此活动的情况下关闭应用程序,例如通过按主页按钮,然后返回它,则活动不会恢复。

如果我删除“noHistory”属性,它会回来并在杀死后恢复。

有没有办法让它不出现在历史堆栈中(=不想通过在下一个活动中按下后退按钮回到它)而没有这种行为?

亲切的问候,水母

0 投票
3 回答
11842 浏览

android - 活动在强制关闭时重新启动

我有一个带有单个根 Activity 的应用程序。我最近注意到我的活动上的任何强制关闭都会导致它重新启动,我不知道为什么会发生这种情况。如果我强制未捕获的异常或使用“长按强制关闭”选项,它们都会导致相同的结果。

我唯一的猜测是与保留对 Activity 某些部分的引用有关的某种形式的怪癖,只是我在应用程序级别没有任何 WeakReference 条目之外的任何内容。

相关的 logcat 条目:

任何从哪里开始戳的想法都将不胜感激!

编辑:这是由于我在清单中设置android:stateNotNeeded="true"引起的。虽然我不需要状态,但这导致 Android 决定最好在假设用户想要的情况下重新启动我的应用程序。

0 投票
3 回答
481 浏览

android - 活动不在android的后台运行

当单击主页按钮并再次重新启动应用程序时,它会从第一个屏幕开始,而不是停留在我离开的屏幕上。

感谢帮助。

0 投票
1 回答
137 浏览

android - Proper way to add Activity under the top Activity

So I have a main activity, a disclaimer activity, and an update activity. The latter two are both added from the main activity. The update activity gets kicked off after it pulls down some data to see if it needs to update. So essentially what happens is I get this stack.

On Launch:

  1. Main -> Disclaimer -> Update (If they have not accepted the Disclaimer yet, I don't want the update on top)

  2. Main -> Update (If they already accepted the disclaimer, this works fine)

When I decide to add the Update View, I would like to check if the Disclaimer currently being displayed, and if so, add the Update View beneath it. Resulting in a stack like this for case 1 from above:

Main -> Update -> Disclaimer

What do you think is the best way to do this? I could just keep some booleans to keep track of if its shown, and then pop and push the disclaimer, but that seems messy.