问题标签 [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 - 不向当前 Activity 堆栈添加新 Activity
我确信这已经被覆盖了,但我在任何地方都找不到它,我基本上有一个启动器应用程序,当我选择一个项目时它会启动到市场。当用户离开应用程序然后返回它时,仍然可以显示市场哪个 Activity 因为它位于它的堆栈顶部,这是我不希望它做的事情。所以,而不是,
应用程序主活动
用户点击项目打开市场
市场开放
用户回家并做一些其他事情。
用户重新打开应用程序,它将用户带到堆栈中的最后一个活动,即市场。
我希望它改为
应用程序主活动
用户点击项目打开市场
市场开放
用户回家并做一些其他事情。
用户重新打开应用程序并返回到应用程序的主要活动。
现在,如果市场活动是我的应用程序的一部分,我可以在代码中执行此操作,但事实并非如此,所以我有点卡住了。
非常感谢。
android - 从小部件启动的活动会导致显示堆栈中的活动
我有一个带有 2 个活动(比如 A 和 B)和一个 appWidget 的小应用程序。当我单击小部件时,我启动了一个活动,该活动在做一些事情的同时为小部件设置动画。我是这样做的;
然后中的活动onCreate
这样做:
最后,从这个活动(女巫是完全透明的)我显示了一个对话框。这就像我想要的那样工作,但问题是:
当我启动活动时,如果之前我打开了应用程序的第一个活动(活动 A)并使用主页按钮将其关闭(活动仍然在堆栈中)而不是使用后退按钮关闭它,则显示对话框的那一刻从小部件启动的活动中,显示了对话框,但也显示了活动 A。
我尝试在清单 android:noHistory="true" 上设置,问题解决了,但是如果从活动 A 我启动活动 B,后退按钮将不会显示活动 A。
android - 致命异常不杀死我的整个 Android 应用程序是否正常?
我有点担心,如果我在我的应用程序中的一个活动中遇到异常,强制关闭对话框似乎会让我回到应用程序历史/堆栈中的前一个活动,而不是杀死整个应用程序。这是正常的吗?我担心我的应用程序可能会以某种方式运行自身的多个版本。
通过故意“破坏”我的代码,我已经明白了这一点:
这些是我接连开启的活动
A>B>C>D>E
中断活动A
使我强制关闭手机主屏幕 活动同上B
强制关闭时似乎使我D
恢复活动 强制关闭时似乎使我恢复活动B
E
C
这是怎么回事?我已经检查了我所有的意图,以确保我没有打开它们两次
android - Android SingleTask、SingleTop 和 Home 按钮
在我的应用程序中有一种我不理解的行为。我有MainActivity
A 作为SingleTask
. 它也称为Activity
B。SingleTask
当我按下Home
第二个活动中的按钮以打开另一个应用程序,然后我尝试转到我的应用程序保持Home
按下按钮时,我总是转到 Main Activity
,并且我希望打开第二个活动以保持按下Home
按钮时的状态.
我已经尝试将第二个活动设置为 singleTop 并且它不起作用。
有什么帮助吗?
android - 在不清除任何内容的情况下创建活动根
比如说,我有 A->B->C->D 堆栈。如何将其重新排列为 D->A->B->C?
java - 从堆栈 onResume 弹出活动
当我的程序启动时,它会运行一个 mainActivity,它会立即启动并将数据加载到另一个 Activity 中。我这样做是因为数据只需要在 mainActivity 中加载一次,然后发送到其他活动!
所以!话虽如此,我的问题可能是可以预见的!当用户点击足够多时,他将进入这个初始活动,然后坐在那里......不优雅,而不是回到 Android 的主菜单。
我想要做的是在 mainActivity 的 onResume() 方法中添加一些东西,这样当它重新进入时,我从代码中“激活”后退按钮——(一个布尔标志确保我没有做这不正确,因此我知道它是在单击后退的)。那么这不就是从 Activity Stack 中弹出当前的 Activity 吗?
如何从活动堆栈中弹出活动!
谢谢!
android - 如何避免按返回按钮/键返回登录布局?
我想为我的研究所创建一个应用程序。
问题是:我的应用程序将有两种布局(登录和仪表板)。
学生可以正确填写登录表单、进入仪表板、按下按钮以及填写其他字段。但如果用户随后按下后退按钮,它不应返回登录屏幕,而是留在仪表板中,否则,退出应用程序。
然后,如果学生重新打开应用程序并且它已经登录,他应该被自动重定向到仪表板,而不是登录屏幕,除非用户按下仪表板上的注销按钮,然后将他重定向回登录屏幕。
你怎么能做到这一点?
编辑: 我实现了 2 个意图和 2 个活动,我提出的新问题是,当我按下主页按钮并从任务管理器中打开应用程序时,在剩下的活动中打开,但如果从图标打开打开应用程序再次从第一个活动中打开,就像在最后一个活动中打开一样?
android - 如何从android中的活动外部启动的活动堆栈中清除活动?
我有一个广播接收器类,它启动一些对话活动,比如带有意图标志 Intent.FLAG_ACTIVITY_NEW_TASK 的 A,因为我正在从外部 Activity 开始活动(即使我的应用程序没有运行)并且每个人都这样做。**
案子 :
** 我运行我的应用程序并关闭它。一些事件触发广播和广播接收器将捕获并启动对话活动 A,然后用户通过完成它来取消它。这是问题所在:用户尝试从主页按钮启动应用程序,然后打开对话框活动而不是主要活动。
任何建议将不胜感激。
提前致谢
android - 从堆栈中弹出已知数量的活动
在构建应用程序的过程中,我有一个 Activity 让我们称之为A,我多次打开,如A(1) -> A(2) -> A(3) -> ... -> A( m) -> ... -> A(n)。
在我想一直弹回A(m)的应用程序中,有没有办法将活动一直弹回选定的活动?
我已经看到了一些带有FLAG_ACTIVITY_CLEAR_TOP的答案,但在我看来,这只是为了清除整个堆栈并转到堆栈中的第一个元素,这不是我想要得到的。
更新:
我在这里想要实现的目标如下:我有一个问题列表,用户可以为每个问题选择不同的答案。
一旦他选择,问题和答案就会进入历史列表,并提示另一个问题。在任何给定点,用户都可以单击历史按钮并返回到他选择的问题。
所有的问答活动都是一样的,所以回到一个问题意味着弹出堆栈直到到达那里。
android - 从堆栈中清除后台活动/活动的正确方法是什么?
正如问题标题所说 - 我需要知道“删除”/销毁/完成位于堆栈中间某处且当前处于暂停模式(不是特定实例 - 而是特定派生类)的活动的最佳方法是什么。
例如:
如果堆栈的当前状态如下所示:
“清除”所有 ActivityC 实例的请求将导致堆栈如下所示:
我不想这样做取决于活动启动模式或意图标志。我知道如何使用它们以及它们的好处。
我目前知道我可以做的是发送广播,所有需要销毁的活动都会收听,并在收到广播时调用 Activity.finish() 。
这是可行的,但即使在他们的托管活动暂停时,它也需要注册接收者,而且我不确定从暂停的活动中调用“finish()”方法是否正确。
从恢复的活动中调用 Activity.finish() 方法是否正确?
在 OnCreate() 方法中注册接收者并取消注册 OnDestroy() 是否正确?
从恢复的活动中处理广播并从那时起调用 finish() 是否正确?
是否有“Android 方式”或某些我不知道的 API 从堆栈中清除活动?
提前致谢