问题标签 [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.

0 投票
0 回答
281 浏览

android - 如果我的启动器活动是 singleInstance,我怎样才能让应用程序从通知栏中恢复?

我有一个启动器活动,我需要将launchMode 设置为singleInstance。如果我这样做,从通知栏恢复不再起作用,它每次都会启动我的启动器活动。我怎样才能让它们一起工作?

0 投票
1 回答
4959 浏览

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?

感谢任何人的回复和帮助!

0 投票
1 回答
122 浏览

android - 登录行为中的活动 LauchMode

我正在尝试理解android:lauchMode,以便将其正确应用于我正在开发的应用程序。基本上我有2个活动。LoginActivityHomeActivity

会话状态已存储,因此如果应用程序被终止并且您已登录,则下次打开时,您仍将处于登录状态。因此,请记住这一点,我正在寻找的行为如下:

您总是启动 on LoginActivity,它会检查您是否已登录,如果true,则会将您定向到HomeActivity. 在HomeActivity登录时,如果您注销,它会将您重定向到LoginActivity.

我需要的是,无论哪种方式,如果您处于登录或主页活动中,后台堆栈将是清晰的,并且如果您按下后退按钮或其他任何方式,您将不会从主页重定向到登录或登录到主页,而是应用程序可能会关闭。

编辑:我不能在 中使用noHistory="true"Manifest因为 Auth 方法应该返回到LoginActivity. 只是HomeActivity不应该让回去LoginActivity。那么,这是一个合适的解决方案吗?

0 投票
3 回答
10245 浏览

android - 以编程方式设置活动启动模式

我需要launchMode根据我的应用程序状态调用不同的活动。在一种情况下应该是singleInstance,在另一种情况下 - singleTask。我知道如何launchModeAndroidManifest中进行设置,但由于它应该是动态属性,所以我必须从代​​码中进行设置。我想,在开始活动之前,我可以在意图中添加一些特定的标志,但我发现只有singleTop标志。那么有什么办法可以解决这个问题吗?谢谢

0 投票
1 回答
938 浏览

android - 安装apk文件的不同方式

我在安装 apk 文件时遇到问题,如下: 1. 从 Eclipse 的 /bin 复制 apk 文件

方式一:

使用命令行: adb install [apk 文件的路径]

结果 1: - 转到应用程序中的任何位置,然后触摸主页按钮。

  • 使用启动器重新运行应用程序,应用程序转到上一个屏幕(确定)

方式二:

将该apk文件复制到sdcard并单击它直接运行。

结果1:

  • 转到应用程序中的任何位置,然后触摸主页按钮。

- 使用启动器重新运行应用程序,应用程序转到第一个屏幕(不正常)

AndroidManifest:这些在标签应用程序中定义

我如何导出 APK 并直接安装它,结果就像在 Eclipse 中通过 adb 或 ctrl + f11 安装一样?


非常感谢@marek-sebera。我解决了我的问题,它的不同之处在于如何打开我的应用程序,而不是如何安装应用程序。

0 投票
2 回答
50 浏览

android - 是否有可能实现这样的 Activity 行为?

有两个活动:ActivityAActivityB.

ActivityA我要去ActivityB。然后,我选择一些列表项并返回Activity A(相同实例)选择的数据。最困难的是:如果我现在按回,我应该回到ActivityB(使用相同的实例并保存视图状态)。

是否可以实施?不需要通过launchMode属性,也许还有另一种方法可以通过 ActivityManager 手动管理活动。

0 投票
3 回答
6059 浏览

android - Android - 后按从通知栏启动的活动

[下方更新]

我有多个活动的应用程序。我在处理从单击通知项开始的活动时遇到问题。

以下是应用程序结构:

  1. 对于正常的流程/工作,用户启动应用程序并且 Activity A 作为启动 Activity,它启动。用户可以从活动 A 导航到活动 B(即 A -> B)
  2. 单击 B 上的后退按钮时,将显示活动 A。

但是,问题在于从单击通知开始活动。下面是流程:

  1. 用户点击通知
  2. 活动 B 开始
  3. 单击活动 B 上的后退按钮时,它不会启动活动 A(这是可以理解的),但也不会终止活动 B(将活动 B 移动到后台)。我想要的是,如果活动 B 是通过单击通知启动的,那么在 B 上的后按应该将用户带到活动 A 或终止活动 B。

在这方面的任何指针将不胜感激。

[更新]:

奇怪的是,这就是现在正在发生的事情。1. 覆盖活动 B 中的 onBackPressed 事件。 2. 在此方法中,调用了 finish()。

如果应用程序已经在运行并且在单击通知时,将显示活动 B,然后在返回时,活动 B 完成。但是,如果应用程序未运行,则通知单击会启动活动 B,并且在后按时,它会调用后按事件和 finish() 方法,但活动不会完成并进入后台。这真的很奇怪。或者我可能遗漏了一些细节:((

谢谢史瑞

0 投票
2 回答
667 浏览

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)。

0 投票
2 回答
494 浏览

android - android上的后退导航行为

我的应用程序中有一些活动: A - 登录活动 B - 主应用程序活动 CD ... - 内部活动 我想实现如下行为:

  1. 当用户选择应用程序图标或从任务列表中选择应用程序时,我希望清除后台堆栈并显示活动A
  2. 当用户通过A时,按下活动B的后退将退出应用程序
  3. 当内部应用程序中的用户按回时将“正常”运行。

例如:活动堆栈A -> B -> C -> D 第一次按下后退按钮(顶部活动是D)将弹出堆栈顶部的D,它将是:A -> B -> C点击再次(顶部活动是C)将我们移动到A -> B并再次单击将退出应用程序(如 2 中所述)

我通过添加到 A 的属性来实现 (2) 并尝试通过添加A 的属性 来实现 (1)android:noHistory="true"但是我这样 做时 (3) 被破坏并在 D可见时单击返回将我直接移动到A .AndroidManifest.xmlandroid:launchMode=singleTopAndroidManifest.xml

我怎样才能实现它们?

谢谢!

0 投票
2 回答
3592 浏览

android - 启动活动时获取 java.lang.RuntimeException

我有一个活动,ASingleTop我想在她内部开始这个活动时,使用另一个意图数据,如下所示:

发生此异常:

我应该怎么办?我做错什么了吗?

谢谢

EDIT 1
在我的AndroidManifest.xml文件中,我定义something://为使用 activity 打开A

EDIT 2
当活动A不是时singleTop,没有问题。

编辑 3
此错误不会导致我的应用程序强制关闭,实际上问题是有时恰好在收到此错误后,我会收到如下错误:

这会杀死我的应用程序。