问题标签 [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:launchMode
我对 Android 中不同的活动启动模式感到非常困惑。我知道它与活动堆栈有关,这对我来说也不是很清楚。我希望通过一个简单的用例对每个启动模式进行简短的解释。
android - 如何以不同的布局启动活动两次,而不是将其保留在 Android 的活动回栈中
我有活动流程:
A1 和 Home 中的 BACK 按钮应关闭应用程序。所以我finish()
在 A2 启动时调用 A1,并且在 Home 启动时调用 A2(感谢 A1 和 A2 永远不会保留在后堆栈中)。
但是,A2 中的 BACK 按钮应该指向 A1,所以我在 A2 中覆盖(A1 已经完成,如上所述,所以我必须重新启动它)
现在,可以使用 Home 中的按钮重新开始序列
在这种情况下(即在 Home 之后启动 A1->A2 时)A1 的布局应该有点不同。
android - 从不同的活动返回活动结果
我有 2 个 android 应用程序,比如应用程序 A 和 B。应用程序 A 启动应用程序 B 的主要活动,并使用startactivityForResult()
.
在应用程序 B 中,除了主要活动之外,还有其他活动进行处理,它们与主要活动链接在一起。当一个活动完成处理时,它会调用finish()
并启动下一个活动。
应用程序 A 的结果仅在链中的最后一个活动上获得,我想将其返回给应用程序 A 并在onActivityResult()
回调中接收它。
考虑到应用 B 的主要活动(从应用 A 接收到意图)已经完成,是否有可能将结果返回给应用 A?
提前致谢。
android - Android - 知道您在活动堆栈上的页面级别(层次结构)
从启动器活动开始,我需要一种方法来了解应用程序所处的级别(层次结构)。
例如,用户在购物应用中的图像并采用以下路径:
- 主要活动 ---> 2. 要购买的鞋子清单 ----> 3. 购物车 ---> 4. 结帐
所以结帐将是第 4 级。当用户只是看着要买的鞋子时,这将是第 2 级。我需要这个来报告(但我认为这信息太多了)。我只需要知道我在应用程序中的级别/部分。我如何设计一些东西来在活动生命周期中跟踪这一点?
更新:我有一个名为 level 的静态变量,我在我的应用程序中扩展了应用程序,因此我可以在每次活动开始时将其重置为 0。然后在我的活动 onstart 和 onstop 中,我正在调整级别,但我不知道这是否适用于所有场景。
但它不工作。我所有的活动(至少有 50 个)都从一个名为 baseActivity 的抽象类扩展而来。在 Base Activity 中是我想主要关卡的地方。最终目标是能够跟踪用户来自哪里。我需要报告最终用户到达活动的路径
android - Android - 如何获取活动路径
我怎样才能获得最终用户到达任何活动的路径。
因此,如果用户访问了活动 A、B、C .. 那么在活动 ci 中将能够获得类似“A/B/C”的信息。同样,如果用户直接将路径带到 D、F,那么在活动 F 中,我将拥有“D/F”的路径信息。
android - 如何打开 Activity 的先前实例并重新创建它?
基本上我需要的是Activity
每次调用startActivity()
将实例移到前面时重新创建一个,而不是破坏其他活动。
例如,如果我在活动堆栈中
A->B->C->D
并且从 DI 想要打开 B,我当前使用的标志是FLAG_ACTIVITY_REORDER_TO_FRONT
使 Activity 堆栈处于这种状态:A->C->D->B
. 活动堆栈中的顺序是完美的,但是,Activity
没有重新创建并onNewIntent()
调用该标志。
因为Activity
我不想重构很多东西的复杂性,我想要的是从头开始重新创建 B(onCreate()
必须调用)而不是在onNewIntent()
方法中执行我的逻辑。活动堆栈应该具有与我使用FLAG_ACTIVITY_REORDER_TO_FRONT
. 任何想法?您的帮助将不胜感激。:)
android - 清除 Android 活动堆栈
我做了一个小Android
应用程序来处理Activities
,我面临一个奇怪的问题。
为了确定是否可以移至上一个Activity
,我使用以下代码:
基本上,它返回一个Integer
状态总活动onStop
加一(当前Activity
)。
启动时,我先运行 aSplashscreen
以显示非常简单的信息,然后转到 login Activity
。
为了确保不Activity stack
等于2,我使用:
此时,我希望在堆栈中获得1 个活动,但它给出了2。
为什么 ?
谢谢你的帮助。
android - Android:为什么 FLAG_ACTIVITY_REORDER_TO_FRONT 表现出这种行为?
我一直在努力FLAG_ACTIVITY_REORDER_TO_FRONT
管理 Activity 堆栈,但我意识到这个标志在不同的设备中具有不同的行为。想象一下,我在堆栈中有这些活动:A->B->C->D并从 DI 打开活动 B 使用FLAG_ACTIVITY_REORDER_TO_FRONT
标志,所以新的堆栈状态是A->C->D->B。如果我从 B 按下后退按钮,您希望看到的是 D,然后是 C,最后是 A。它在我测试过的所有手机中都按预期工作,但关键是它仅在某些平板电脑中以相同的方式工作,因为在其他应用程序在我按下后退按钮时关闭。在 Nexus 10 中,当我从 D 打开活动 B 并按下后退按钮时,应用程序已关闭,如果我重新打开它,我所拥有的是之前在堆栈中的活动(A->C->D)。
有人知道发生了什么吗?似乎内部实现在不同的 Android 版本中有所不同:$
android - 开始第二个活动并未能回到第一个活动
假设我完全相当我的应用程序。(没有更多的活动堆栈)
但是,通知到达,用户将在单击时导航到第二个活动
问题是我怎样才能让第二个活动回到第一个活动(lancher)然后退出
如果按下后退按钮而不是直接退出(因为它没有任何堆栈)!?
导航到第二幕的通知。
android - 用于 api 14 的 taskstackbuilder
我的编译器显示此消息...
调用所需的 API 级别 16(当前最低为 14)
问题是.. “这段代码是否可以在 api 14 中运行??” 因为我没有设备来测试这个 API 版本,因为 AVD 没有 GPS(要求)我是否必须实现支持库?
笔记
它在 API 16 及更高版本上完美运行
任务堆栈生成器
AndroidManifest