• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 系统任务管理(仅对系统应用开放)
2
3### 介绍
4
5本示例通过调用系统任务管理的能力,使用[@ohos.application.missionManager](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-ability-kit/js-apis-application-missionManager-sys.md) 、[@ohos.multimedia.image](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-image-kit/js-apis-image.md) 等接口完成对系统任务执行锁定、解锁、清理、切换到前台等操作。
6
7### 效果预览
8
9|初始页|任务页|任务操作页|时钟页|
10|--------------------------------|--------------------------------|--------------------------------|--------------------------------|
11|![](./screenshots/device/initPage.jpeg)|![](./screenshots/device/missionPage.jpeg)|![](./screenshots/device/misssionOperation.jpeg)|![](./screenshots/device/colokPage.jpeg)|
12
13使用说明
14
151.下拉“**获取系统任务信息**”,获取当前系统任务的包名、运行状态、锁定状态、任务是否支持迁移、任务快照等信息列表,且最多可获取10条任务;
16
172.左滑任务列表,点击“**锁定**”,即可锁定指定的任务;
18
193.若当前任务已锁定,可点击“**解锁**”,即可解锁指定的任务;
20
214.点击“**删除**”,即可删除指定的任务;
22
235.点击“**移动**”,即可将指定的任务移动到前台执行。
24
25### 工程目录
26```
27entry/src/main/ets/
28|---Application
29|---common
30|   |---MissionInfoComponent.ets       // 任务信息组件
31|   |---TitleBar.ets                   // 标题组件
32|---MainAbility
33|---model
34|   |---Logger.ts                      // 日志工具
35|   |---Mission.ts                     // 虚拟数据
36|---pages
37|   |---Index.ets                      // 首页
38```
39
40### 具体实现
41
42* 任务执行锁定、解锁、清理、切换到前台等操作的功能结构主要封装在Index、MissionInfoComponent,源码参考:[Index.ets](entry/src/main/ets/pages/Index.ets) ,[MissionInfoComponent.ets](entry/src/main/ets/common/MissionInfoComponent.ets)
43    * 获取任务信息:在Index页面中通过missionManager.getMissionInfos()方法来获取所有的mission;
44    * 执行或者解锁锁定任务:在MissionInfoComponent组件当中可以通过missionManager.lockMission(missionId)方法来锁定指定的mission,而missionManager.unlockMission(missionId)用来解锁mission;
45    * 移动指定的任务:将指定的任务移动到前台执行可以使用missionManager.moveMissionToFront(missionId)方法;
46    * 删除指定的任务:删除指定的任务可以通过missionManager.clearMission(missionId)方法实现。
47
48### 相关权限
49
50[ohos.permission.MANAGE_MISSIONS](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md#ohospermissionmanage_missions)
51
52### 依赖
53
54不涉及。
55
56### 约束与限制
57
581.本示例仅支持在标准系统上运行。
59
602.本示例已适配API version 9版本SDK,本示例涉及使用系统接口:@ohos.application.missionManager,需要手动替换Full SDK才能编译通过,具体操作可参考[替换指南](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/faqs/full-sdk-switch-guide.md)61
623.本示例需要使用DevEco Studio 3.1 Beta2 (Build Version: 3.1.0.400, built on April 7, 2023)及以上版本才可编译运行。
63
644.本示例所配置的权限ohos.permission.MANAGE_MISSIONS为system_core级别(相关权限级别可通过[权限定义列表](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md)查看),需要手动配置对应级别的权限签名(具体操作可查看[自动化签名方案](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/hapsigntool-overview.md))65
66### 下载
67
68如需单独下载本工程,执行如下命令:
69```
70git init
71git config core.sparsecheckout true
72echo code/SystemFeature/ApplicationModels/MissionManager/ > .git/info/sparse-checkout
73git remote add origin https://gitee.com/openharmony/applications_app_samples.git
74git pull origin master
75```
76