android - android :launchMode and android:documentLaunchMode attribute?有什么区别

标签 android android-activity android-task

所以我一直在阅读有关任务、返回堆栈和概览屏幕 的文档,有一件事让我非常困惑。在阅读了 launchMode 之后:http://developer.android.com/guide/components/tasks-and-back-stack.html然后关于 documentLaunchMode 这里:http://developer.android.com/guide/components/recents.html我不知道它们有何不同!

两者都被描述为提供控制相对于当前任务(启动 Activity 的任务)的任务中新 Activity 的启动的方法。那么这两种模式有何不同呢?追加-document是什么意思?

以下是直接引用它们在 list 文件中的使用的文档:
启动模式: http://developer.android.com/guide/topics/manifest/activity-element.html#lmode
文档启动模式: http://developer.android.com/guide/topics/manifest/activity-element.html#dlmode

最佳答案

DocumentLaunchMode:

  • 更多与最近的任务屏幕相关
  • 允许同一 Activity 的多个文档出现在最近/概览屏幕中
  • 可能的值:

    1. "intoExisting" - 该 Activity 重用文档的现有任务(创建它的任务)。使用此值与设置 FLAG_ACTIVITY_NEW_DOCUMENT 标志相同,但不设置 FLAG_ACTIVITY_MULTIPLE_TASK 标志。
    2. “始终” - 该 Activity 为文档创建一个新任务,即使文档已经打开。这与同时设置 FLAG_ACTIVITY_NEW_DOCUMENT 和 FLAG_ACTIVITY_MULTIPLE_TASK 标志相同。
    3. “无” - (默认) - 该 Activity 不会为该 Activity 创建新任务。只有在设置了 FLAG_ACTIVITY_NEW_TASK 时才会创建新任务。概览屏幕按默认方式处理 Activity :它显示应用程序的单个任务,该任务从用户上次调用的任何 Activity 中恢复。
    4. “从不” - 即使 Intent 包含 FLAG_ACTIVITY_NEW_DOCUMENT,此 Activity 也不会在新文档中启动。设置此项会覆盖 FLAG_ACTIVITY_NEW_DOCUMENT 和 FLAG_ACTIVITY_MULTIPLE_TASK 标志的行为(如果在 Activity 中设置了其中任何一个),并且概览屏幕会显示应用程序的单个任务,该任务会从用户上次调用的任何 Activity 中恢复。

launchMode:

  • 更多与返回堆栈相关
  • 处理应如何启动 Activity (创建并与任务相关联)
  • 可能的值:

    1. “标准” - (默认) - 系统总是在目标任务中创建 Activity 的新实例并将 Intent 路由到它。
    2. “singleTop” - 如果 Activity 的实例已存在于目标任务的顶部,系统将通过调用其 onNewIntent() 方法将 Intent 路由到该实例,而不是创建 Activity 的新实例。
    3. “singleTask” - 系统在新任务的根部创建 Activity 并将 Intent 路由到它。但是,如果 Activity 的一个实例已经存在,系统会通过调用其 onNewIntent() 方法将 Intent 路由到现有实例,而不是创建一个新实例。
    4. “singleInstance” - 与“singleTask”相同,不同之处在于系统不会在持有该实例的任务中启动任何其他 Activity 。该 Activity 始终是其任务的唯一成员。

Logical Relationship: For values other than "none" and "never" (documentLaunchMode) the activity must be defined with launchMode="standard". If this attribute is not specified, documentLaunchMode="none" is used.

关于android - android :launchMode and android:documentLaunchMode attribute?有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32154059/

相关文章:

android - PendingIntent 完成当前的第 3 方 Activity 并启动其相应的 Activity

java - 将时间戳转换为日期和时间 Java

android - 使用 Android 打开 Google 云端硬盘中的特定文件夹

android - 如何在另一个 Activity 中调用方法

android - 另一个 Activity 出现并覆盖屏幕尺寸的一半

android - 始终重新创建具有 launchMode singleTop 或 singleTask 的 Activity

android - GLSL 2D 旋转不起作用

android - jQuery.mobile 弹出窗口在显示后立即隐藏

android - 如何从另一个应用程序启动一个应用程序

android - 单击应用程序的启动图标时会发生什么?