问题标签 [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.
android - Android:从HOME重启后保留任务的活动堆栈
我的应用程序有两个活动,我按以下顺序开始:
现在我按 HOME 并再次启动“A”。我想在“A”的顶部看到活动“B”,但我得到的是“A”——所以活动堆栈被清除了。
显现:
我应该怎么办?
android - Android:launchMode =“singleTask”中的错误?-> 活动堆栈未保留
我的主要活动A
已android:launchMode="singleTask"
在清单中设置。现在,每当我从那里开始另一个活动时,例如B
并按下HOME BUTTON
手机上的返回主屏幕然后再次返回我的应用程序,或者通过按下应用程序的按钮或HOME BUTTON
长按显示我最近的应用程序它没有'不保留我的活动堆栈并直接返回A
而不是预期的活动B
。
这里有两种行为:
是否有我缺少的设置或者这是一个错误?如果是后者,在修复错误之前是否有解决方法?
仅供参考:这个问题已经在这里讨论过了。但是,似乎还没有任何真正的解决方案。
android - TabWidget 活动处理 - 它是否每次都创建一个新活动?
当 TabWidget 使用意图为每个选项卡指定目标 Activity 时,除了默认操作之外,是否对 Activity Stack 上的这些 Activity 有任何特殊处理?
例如,如果我的应用程序有选项卡 A、B 和 C,并且我按此顺序单击它们——A、B、A、C、A、B——Activity 堆栈将如何变化?
我对默认操作的理解,如果每次都在意图上调用 startActivity(),堆栈会不断加载活动的新实例:A、AB、ABA、ABAC、ABACA、ABACAB
很难相信这就是它的工作原理......似乎这会浪费资源并且可能无穷无尽。谁能告诉我这将如何实际工作?
android - 如何在使用不同的 Intent 启动 Activity 时防止其出现多个实例
当我使用Google Play 商店应用程序(以前称为 Android 市场)上的“打开”按钮启动应用程序时,我遇到了一个错误。从 Play 商店启动它似乎与Intent
从手机的应用程序图标菜单启动它不同。这会导致启动同一个 Activity 的多个副本,这些副本相互冲突。
例如,如果我的应用程序包含活动 ABC,那么这个问题可能会导致一堆 ABCA。
我尝试android:launchMode="singleTask"
在所有活动上使用来解决此问题,但是每当我点击 HOME 按钮时,它都会产生将 Activity 堆栈清除为 root 的不良副作用。
预期的行为是: ABC -> HOME -> 当应用程序恢复时,我需要: ABC -> HOME -> ABC
有没有一种好方法可以防止启动多个相同类型的活动,而无需在使用 HOME 按钮时重置为根活动?
android - 在 Android 中实现类似 iPhone 的后退按钮?
我想在我的一个活动的左上角有一个按钮,它在堆栈上保存它下面的活动名称。这可能吗?该按钮基本上只是完成当前活动,我只需将文本设置为类似于堆栈上它下方活动的标签的内容。
我有一个半有效的解决方案,我只需将一个额外的字符串传递给活动,无论我从哪里开始,这都允许我将文本设置为任何有意义的内容。当我使用通知时,这不起作用。
android - Android 从广播接收器启动活动
我知道这可能不是最佳做法,但这是我想做的。
当我的广播接收器被调用时 - 启动一个不是全屏且具有透明背景的新活动 - 它在您当前的活动/桌面壁纸之上打开。
我到目前为止的代码如下:
我创建+调用一个新活动:
然后活动的主题是:
android:theme="@android:style/Theme.Translucent.NoTitleBar"
而且活动的代码只是一个简单布局的沼泽标准活动。但是,当该广播接收器启动活动时-它出现在应用程序启动时启动的上一个活动的顶部.....根据此图像显示:
android - android:在活动中移动而不弹出它们
我有以下我希望实现的目标:
活动 A -> 活动 B
活动 B -> 活动 A
在纸面上,这听起来就像只是按下后退按钮一样。问题是,我不希望 Activity B 被弹出。
我需要一些类似于 moveTaskToBackground 的东西,但只是针对单个活动。这样当我再次从 A 回到它时,它可以恢复。
为了给您一些上下文,活动 A 是一个项目列表。活动 B 显示有关项目的信息并播放附加到它的歌曲。从 B 回到 A 时,我希望这首歌继续播放,这样如果人们在 A 中点击相同的选项,他们就会恢复活动。否则,终止该活动并使用新细节开始一个新活动并播放新歌曲。
android - Android活动堆栈大小问题?
我有一个包含很多活动的应用程序。其中许多活动可以启动其他活动,因此用户期望生成相当大的活动堆栈。
我目前正在使用默认的活动启动行为。有人知道,如果大型活动堆栈(如 > 100)会造成问题吗?这有限制吗?它会降低性能,导致 ANR 对话,还是类似的事情?
谢谢
android - 如何移除 Activity Stack 底部的 Activity?
在我的应用程序中,我有大约十几个活动。但是,其中大多数都有一些快捷按钮,因此用户可以从应用程序的任何位置启动最重要的按钮。这意味着,用户可以在应用程序中跳转,用活动填充活动堆栈。我无法改变这种行为,因为我需要堆栈提供的历史功能(所以我不能只使用 noHistory 选项)。
显然,我想对这种可能的内存泄漏做点什么。如果堆栈的大小大于某个数字,是否可以从活动堆栈底部删除条目?所以栈只记得最新的X(比如30)个Activity?
谢谢
android - 我的应用程序的活动堆栈或任务
我ActivityGroup
在我的应用程序中使用,结构如下 A > B > C (其中 A 首先显示),并且 B 和 C 形成一个循环,B > C > B > C > B
如果用户按下后退按钮,则 B 和 C 都应该显示活动 A (即使用户在 C 上),堆栈中不需要 B 和 C。
那么我该如何实现onBackPressed()
或任何其他方法来制作我的应用程序。