问题标签 [launchmode]
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 - 如果我的启动器活动是 singleInstance,我怎样才能让应用程序从通知栏中恢复?
我有一个启动器活动,我需要将launchMode 设置为singleInstance。如果我这样做,从通知栏恢复不再起作用,它每次都会启动我的启动器活动。我怎样才能让它们一起工作?
android - Android任务和进程,SingleTask和SingleInstance
我已经阅读了 Google Android 开发者页面,但是任务的概念(http://developer.android.com/guide/components/tasks-and-back-stack.html)真的让我很困惑。
在我读到 SingleTask 和 SingleInstance 之后,我变得更加困惑。
我想通过例子提出一些问题,希望我能从这些问题中得到更好的理解:
假设我有 2 个应用程序 A 和 B,A 有 x、y、z 活动;B有1、2、3个活动:
假设他们的启动模式是标准的(不使用任何意图标志)。x 是应用 A 的 Main Activity;1 是应用 B 的主要活动。
1)启动app A,然后x-> y -> 1,按home键,再次启动app A,我们会看到activity y还是1?
2) 启动应用程序 A 然后 x -> 1 -> y -> 2 -> z -> 3,按主页按钮,启动应用程序 A,它将包含所有活动 (x -> 1 -> y -> 2 -> z -> 3),还是只包含 x -> y -> z?如果我们现在启动应用程序 B 怎么样?应用 B 将包含哪些活动?
现在假设活动 1、2、3 是 SingleTask;x,y,z 仍然是标准的:
3) 启动应用程序 A,然后 x -> y -> 1 -> 2,按主页按钮,启动应用程序 A,它将仅包含 x -> y 还是包含 x -> y -> 1 -> 2?如果我们现在启动应用程序 B 怎么样?应用程序 B 将仅包含 1 或 1 -> 2?
4)启动app B,然后1 -> 2 -> 3 -> 1,2和3会被销毁吗?
5) 启动应用程序 B,然后 1 -> 2 -> 3,按主页按钮,现在启动应用程序 A,然后 x -> y -> 2 然后按返回按钮放下 2. 现在启动应用程序 B,它包含哪些活动?仅 1 -> 3 还是 1 -> 2 -> 3?
感谢任何人的回复和帮助!
android - 登录行为中的活动 LauchMode
我正在尝试理解android:lauchMode
,以便将其正确应用于我正在开发的应用程序。基本上我有2个活动。LoginActivity
和HomeActivity
。
会话状态已存储,因此如果应用程序被终止并且您已登录,则下次打开时,您仍将处于登录状态。因此,请记住这一点,我正在寻找的行为如下:
您总是启动 on LoginActivity
,它会检查您是否已登录,如果true
,则会将您定向到HomeActivity
. 在HomeActivity
登录时,如果您注销,它会将您重定向到LoginActivity
.
我需要的是,无论哪种方式,如果您处于登录或主页活动中,后台堆栈将是清晰的,并且如果您按下后退按钮或其他任何方式,您将不会从主页重定向到登录或登录到主页,而是应用程序可能会关闭。
编辑:我不能在 中使用noHistory="true"
,Manifest
因为 Auth 方法应该返回到LoginActivity
. 只是HomeActivity
不应该让回去LoginActivity
。那么,这是一个合适的解决方案吗?
android - 以编程方式设置活动启动模式
我需要launchMode
根据我的应用程序状态调用不同的活动。在一种情况下应该是singleInstance
,在另一种情况下 - singleTask
。我知道如何launchMode
在AndroidManifest中进行设置,但由于它应该是动态属性,所以我必须从代码中进行设置。我想,在开始活动之前,我可以在意图中添加一些特定的标志,但我发现只有singleTop
标志。那么有什么办法可以解决这个问题吗?谢谢
android - 安装apk文件的不同方式
我在安装 apk 文件时遇到问题,如下: 1. 从 Eclipse 的 /bin 复制 apk 文件
方式一:
使用命令行: adb install [apk 文件的路径]
结果 1: - 转到应用程序中的任何位置,然后触摸主页按钮。
- 使用启动器重新运行应用程序,应用程序转到上一个屏幕(确定)
方式二:
将该apk文件复制到sdcard并单击它直接运行。
结果1:
- 转到应用程序中的任何位置,然后触摸主页按钮。
- 使用启动器重新运行应用程序,应用程序转到第一个屏幕(不正常)
AndroidManifest:这些在标签应用程序中定义
我如何导出 APK 并直接安装它,结果就像在 Eclipse 中通过 adb 或 ctrl + f11 安装一样?
非常感谢@marek-sebera。我解决了我的问题,它的不同之处在于如何打开我的应用程序,而不是如何安装应用程序。
android - 是否有可能实现这样的 Activity 行为?
有两个活动:ActivityA
和ActivityB.
从ActivityA
我要去ActivityB
。然后,我选择一些列表项并返回Activity A
(相同实例)选择的数据。最困难的是:如果我现在按回,我应该回到ActivityB
(使用相同的实例并保存视图状态)。
是否可以实施?不需要通过launchMode
属性,也许还有另一种方法可以通过 ActivityManager 手动管理活动。
android - Android - 后按从通知栏启动的活动
[下方更新]
我有多个活动的应用程序。我在处理从单击通知项开始的活动时遇到问题。
以下是应用程序结构:
- 对于正常的流程/工作,用户启动应用程序并且 Activity A 作为启动 Activity,它启动。用户可以从活动 A 导航到活动 B(即 A -> B)
- 单击 B 上的后退按钮时,将显示活动 A。
但是,问题在于从单击通知开始活动。下面是流程:
- 用户点击通知
- 活动 B 开始
- 单击活动 B 上的后退按钮时,它不会启动活动 A(这是可以理解的),但也不会终止活动 B(将活动 B 移动到后台)。我想要的是,如果活动 B 是通过单击通知启动的,那么在 B 上的后按应该将用户带到活动 A 或终止活动 B。
在这方面的任何指针将不胜感激。
[更新]:
奇怪的是,这就是现在正在发生的事情。1. 覆盖活动 B 中的 onBackPressed 事件。 2. 在此方法中,调用了 finish()。
如果应用程序已经在运行并且在单击通知时,将显示活动 B,然后在返回时,活动 B 完成。但是,如果应用程序未运行,则通知单击会启动活动 B,并且在后按时,它会调用后按事件和 finish() 方法,但活动不会完成并进入后台。这真的很奇怪。或者我可能遗漏了一些细节:((
谢谢史瑞
android - launchMode 活动问题
我正在实现一个自定义启动器。我有两个活动:带有launchMode的活动A:singleInstance或singleTask,以及活动B。
活动 A 是主屏幕。有2种情况:
- 如果我设置 Activity A 的启动模式:singleTask,我会从 Activity A 调用 Activity B(没关系)。在活动 B 中,如果我按 Home 键返回主屏幕,则屏幕为空(没有任何东西......)。
- 如果我设置 Activity A 启动模式:singleInstance,我从 Activity A 调用 Activity B,然后它显示一个空白屏幕,然后转到 Activity B(在这种情况下,我按 Home 键返回主屏幕,它工作正常)。
那么,如何解决这个问题呢?我想:从活动A调用活动B,然后直接转到活动B,当我按Home键时,它返回主屏幕(活动A)。
android - android上的后退导航行为
我的应用程序中有一些活动: A - 登录活动 B - 主应用程序活动 C,D ... - 内部活动 我想实现如下行为:
- 当用户选择应用程序图标或从任务列表中选择应用程序时,我希望清除后台堆栈并显示活动A
- 当用户通过A时,按下活动B的后退将退出应用程序
- 当内部应用程序中的用户按回时将“正常”运行。
例如:活动堆栈A -> B -> C -> D 第一次按下后退按钮(顶部活动是D)将弹出堆栈顶部的D,它将是:A -> B -> C点击再次(顶部活动是C)将我们移动到A -> B并再次单击将退出应用程序(如 2 中所述)
我通过添加到 A 的属性来实现 (2) 并尝试通过添加到A 的属性
来实现 (1)android:noHistory="true"
但是当我这样 做时 (3) 被破坏并在 D可见时单击返回将我直接移动到A .AndroidManifest.xml
android:launchMode=singleTop
AndroidManifest.xml
我怎样才能实现它们?
谢谢!
android - 启动活动时获取 java.lang.RuntimeException
我有一个活动,A
当SingleTop
我想在她内部开始这个活动时,使用另一个意图数据,如下所示:
发生此异常:
我应该怎么办?我做错什么了吗?
谢谢
EDIT 1
在我的AndroidManifest.xml
文件中,我定义something://
为使用 activity 打开A
。
EDIT 2
当活动A
不是时singleTop
,没有问题。
编辑 3
此错误不会导致我的应用程序强制关闭,实际上问题是有时恰好在收到此错误后,我会收到如下错误:
这会杀死我的应用程序。