问题标签 [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 投票
2 回答
1003 浏览

android - android新任务和活动堆栈问题

  1. 我将启动器活动 (A) 设置为“singleTop”。

  2. 现在通知栏中有一些东西。用户点击它。所以我在接收器中开始活动

    Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK

  3. 所以 A 的 onNewIntent 被调用,我根据额外的意图启动活动 C。

  4. 用户返回 A(返回键)和其他活动 D。然后返回主页键。

  5. 现在当我长按回家时。并重新启动我的应用程序并重复第 3 步。和用户去 C. 实际上用户应该去 D

0 投票
3 回答
3166 浏览

android - 返回一个活动,即使它有 noHistory=true

我需要知道以下流程是否正常: Activity A onPause 被调用是因为 Activity B 获得了焦点,但是几秒钟后,当 Activity B 完成并且在调用 Activity A 的 onStop 和 onDestroy 之前,Activity A(相同的实例) onResume 被调用。我在清单中的活动 A 定义中有 noHistory=true 。

我认为一旦活动失去焦点,将永远不会返回 noHistory=true 的活动实例。

0 投票
1 回答
416 浏览

java - Android - 活动堆栈,将当前活动置于前面并禁用返回键

我有一个具有以下活动的应用程序;

登录->首页->交互记录器(触摸屏记录交互)

虽然此交互记录器处于活动状态,但我希望能够允许用户通过返回键或主页键退出应用程序,并且仍然能够返回到该交互记录器。但是,如果交互记录器完成(在计时器上管理),则用户将被带到登录活动

另外,我是否应该在交互记录器中覆盖后退键,因为我不希望用户在记录过程中破坏活动

提前致谢,

安迪

0 投票
1 回答
782 浏览

android - 上一个活动不会在按下后退按钮时出现

我正在使用以下代码从另一个活动中调用一个活动。

但是当我进入第二个被调用的活动时。我无法返回调用活动 2 的先前活动。有什么办法可以通过按后退按钮返回到第一个活动。我正在使用 2.2 SDK

提前致谢

0 投票
4 回答
9776 浏览

java - 从android中的堆栈中删除一个活动

我想使用代码从堆栈中删除一个活动。这是我的情况

  1. 从页面 AI 转到页面 B。
  2. 从页面 B 我必须使用返回按钮返回页面 A。
  3. 在页面 BI 中,有一个按钮可以转到页面 C。
  4. 当我单击页面 B 中的该按钮时,我正在调用

好的,这是问题所在,当我单击返回按钮时,我从页面 C 转到页面 A。因为它在堆栈中。

当我单击页面 B 中的按钮时,我想从堆栈中删除页面 A。

请注意,在调用页面 B 时,我无法在页面 A 中调用 finish(),因为我想返回页面 A。我不想返回的唯一情况是单击页面 B 中的按钮时。

我怎么能在android中做到这一点?谢谢

0 投票
2 回答
1111 浏览

android - Android后退按钮新意图或完成()

我有个问题。我有一个列表视图 (A) 和一个详细信息视图 (B)。

在 B 上,我有一个“查看列表”按钮,它将始终将用户带到列表中。问题是,我可以通过通知到达 B,而不一定是从 A。

所以当点击B时,我不能只使用finish(),因为我可能是从一个通知进来的,所以在某些情况下我可能需要开始一个新的活动。

我如何可靠地判断我是来自 A 还是来自通知,以便我可以采取正确的行动。

除此之外,这是我应该担心的事情吗?还是每次都开始一项活动就可以了。在我一遍又一遍地在 A -> B -> A -> B -> A -> B 之间弹跳的情况下......从来没有一次调用完成()......这会减慢速度吗?

谢谢,

杰拉德。

0 投票
2 回答
179 浏览

android - 如何在android上自定义导航堆栈

我有这样的情况

我正在使用单个活动但具有不同的参数,所以我假设它们是单独的活动

这是一个导航序列

ABCDEF,在 FI 中,有一个视图可以将我带到 C 或 B。我想要的是当我按下后退按钮时,活动必须将我带到我的堆栈而不是系统堆栈,或者当我导航回更早的堆栈它应该弹出活动而不是推送它们。我怎样才能做到这一点?

注意:我使用的是单个 Activity,所以我需要使用标准启动模式。我需要的是能够将 Activity 实例从堆栈中删除到我导航的位置

0 投票
3 回答
904 浏览

android - 在启动另一个活动之前清除活动堆栈

您好(我在这里的第一个问题 ;-)

可能有类似的问题,但他们似乎都没有回答我的问题或给我一个真正的解决方案......


问题
A(根)开始BB可以开始其他活动。A决定解除堆栈(网络连接丢失)并开始C。这似乎是一个激进的决定,但用户会期望这一点,在这种情况下这真的很有意义......

问题
如何做到这一点?我希望使用某个标志或只是调用类似dismissStack. 但我找不到正确的解决方案(参见下面的研究)。

研究
我阅读了很多文档,但可用的标志不符合我的需求(或者我没有正确理解)。那里的其他答案告诉我要记住开始的活动(例如在数组中)并在需要时完成它们。但这对我来说似乎很脏,不知何故我不能接受这是正确的解决方案。我希望一定有更清洁的东西?!
(存储堆栈对我来说似乎是错误的。您的应用程序可能会被系统杀死,因此您的静态数据,但您的历史记录将在启动时再次加载。所以您必须保留保存的堆栈。这变得更加肮脏.. .)

更新
我的代码和我尝试过的内容(摘要):

FLAG_ACTIVITY_CLEAR_TOP没有解决方案,请阅读文档...)

我按下Back并仍然弹出并且仍然存在C......B

我可以通过调用来删除活动finishActivity(REQUEST_B)。但是当B开始另一个活动时,如果我稍后再点击,D它仍然会弹出。不见了,但还在那里……BackCBD


我确定有些东西我还不明白或只是错过了。如果真的必须这样,有人可以给我一个提示或批准我的研究吗?

0 投票
7 回答
29707 浏览

android - 如何在 Android 应用程序中查找回栈活动?

我有一个带有活动回栈 A -> B -> C -> D -> E 的应用程序。现在在活动 E 中,我想知道我从中导航的回栈活动。我怎么找到这个??

0 投票
13 回答
193827 浏览

android - 如何防止回到之前的活动?

当在手机上按下 BACK 按钮时,我想防止特定活动返回到之前的活动。

HomeScreen具体来说,我有登录和注册屏幕,两者都会在成功登录/注册时启动一个新活动。启动 HomeScreen 后,我想阻止用户通过按 BACK 键返回登录或注册屏幕。

我尝试使用Intent.FLAG_ACTIVITY_NO_HISTORY,但由于应用程序集成了 Facebook,当使用“使用 Facebook 登录”时,Facebook 应该返回初始登录屏幕,因此我应该保留这些活动的历史记录。

我想在按下按钮并使用时覆盖 BACK 按钮的行为HomeScreen以直接完成应用程序

但这也行不通。