今天讲android的启动任务。
启动任务
通过为 Activity 提供一个以 "android.intent.action.MAIN" 为指定操作、以"android.intent.category.LAUNCHER" 为指定类别的 Intent 过滤器,您可以将活动设置为任务的入口点。 例如:
<activity ... >
<intent-filter ... >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
...
</activity>
此类 Intent 过滤器会使 Activity 的图标和标签显示在应用启动器中,让用户能够启动 Activity 并在启动之后随时返回到创建的任务中。
第二个功能非常重要:用户必须能够在离开任务后,再使用此 Activity 启动器返回该任务。 因此,只有在 Activity 具有 ACTION_MAIN 和 CATEGORY_LAUNCHER 过滤器时,才应该使用将 Activity 标记为“始终启动任务”的两种启动模式,即 "singleTask" 和 "singleInstance"。例如,我们可以想像一下如果缺少过滤器会发生什么情况: Intent 启动一个 "singleTask" Activity,从而启动一个新任务,并且用户花了些时间处理该任务。然后,用户按 主页按钮。 任务现已发送到后台,而且不可见。现在,用户无法返回到任务,因为该任务未显示在应用启动器中。
如果您并不想用户能够返回到 Activity,对于这些情况,请将 <activity> 元素的 finishOnTaskLaunch 设置为 "true"(请参阅 清理堆栈)。
有关如何在概览屏幕中显示和管理任务与 Activity 的更多信息,请参阅 概览屏幕。