js-apis-missionManager.md 24.1 KB
Newer Older
G
guyuanzhang 已提交
1 2
# missionManager

Y
yuyaozhi 已提交
3
missionManager模块提供系统任务管理能力,包括对系统任务执行锁定、解锁、清理、切换到前台等操作。
G
guyuanzhang 已提交
4

Y
yuyaozhi 已提交
5 6
> **说明:**
> 
7
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
G
guyuanzhang 已提交
8 9

## 导入模块
R
RayShih 已提交
10

G
guyuanzhang 已提交
11 12 13 14
```
import missionManager from '@ohos.application.missionManager'
```

Y
yuyaozhi 已提交
15 16 17
## 权限列表

ohos.permission.MANAGE_MISSIONS
G
guyuanzhang 已提交
18

Y
yuyaozhi 已提交
19
## missionManager.registerMissionListener
G
guyuanzhang 已提交
20

21
registerMissionListener(listener: MissionListener): number;
G
guyuanzhang 已提交
22 23 24

注册系统任务状态监听。

Y
yuyaozhi 已提交
25 26
**需要权限**:ohos.permission.MANAGE_MISSIONS

Y
yuyaozhi 已提交
27 28
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission

Y
yuyaozhi 已提交
29 30
**系统API**: 此接口为系统接口,三方应用不支持调用。

Y
yuyaozhi 已提交
31 32 33
**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
G
guyuanzhang 已提交
34 35 36
  | -------- | -------- | -------- | -------- |
  | listener | MissionListener | 是 | 系统任务监听方法。 |

Y
yuyaozhi 已提交
37 38 39
**返回值:**

  | 类型 | 说明 |
G
guyuanzhang 已提交
40 41 42
  | -------- | -------- |
  | number | 监听方法的index值,由系统创建,在注册系统任务状态监听时分配,和监听方法一一对应 。 |

Y
yuyaozhi 已提交
43
**示例:**
G
guyuanzhang 已提交
44

Y
yuyaozhi 已提交
45
  ```js
G
guyuanzhang 已提交
46
  var listener =  {
Y
yuyaozhi 已提交
47 48 49 50 51
  	onMissionCreated: function(mission){"--------onMissionCreated-------"},
  	onMissionDestroyed: function(mission){"--------onMissionDestroyed-------"},
  	onMissionSnapshotChanged: function(mission){"--------onMissionSnapshotChanged-------"},
  	onMissionMovedToFront: function(mission){"--------onMissionMovedToFront-------"},
  	onMissionIconUpdated: function(mission,icon){"--------onMissionIconUpdated-------"}
G
guyuanzhang 已提交
52 53 54 55 56 57 58
  };
  console.log("registerMissionListener")
  var listenerid = missionManager.registerMissionListener(listener);

  ```


Y
yuyaozhi 已提交
59
## missionManager.unregisterMissionListener
G
guyuanzhang 已提交
60

61
unregisterMissionListener(listenerId: number, callback: AsyncCallback<void>): void;
G
guyuanzhang 已提交
62 63 64

取消任务状态监听。

Y
yuyaozhi 已提交
65 66
**需要权限**:ohos.permission.MANAGE_MISSIONS

Y
yuyaozhi 已提交
67 68
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission

Y
yuyaozhi 已提交
69 70
**系统API**: 此接口为系统接口,三方应用不支持调用。

Y
yuyaozhi 已提交
71 72 73
**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
G
guyuanzhang 已提交
74 75 76 77
  | -------- | -------- | -------- | -------- |
  | listenerId | number | 是 | 系统任务状态监听方法的index值,和监听方法一一对应,由registerMissionListener方法返回。 |
  | callback | AsyncCallback<void> | 是 | 执行结果回调函数。 |

Y
yuyaozhi 已提交
78
**示例:**
G
guyuanzhang 已提交
79

Y
yuyaozhi 已提交
80
  ```js
G
guyuanzhang 已提交
81
  var listener =  {
Y
yuyaozhi 已提交
82 83 84 85 86
  	onMissionCreated: function(mission){"--------onMissionCreated-------"},
  	onMissionDestroyed: function(mission){"--------onMissionDestroyed-------"},
  	onMissionSnapshotChanged: function(mission){"--------onMissionSnapshotChanged-------"},
  	onMissionMovedToFront: function(mission){"--------onMissionMovedToFront-------"},
  	onMissionIconUpdated: function(mission,icon){"--------onMissionIconUpdated-------"}
G
guyuanzhang 已提交
87 88 89 90 91 92 93 94 95 96
  };
  console.log("registerMissionListener")
  var listenerid = missionManager.registerMissionListener(listener);

  missionManager.unregisterMissionListener(listenerid, (error) => {
    console.log("unregisterMissionListener");
  })
  ```


Y
yuyaozhi 已提交
97
## missionManager.unregisterMissionListener
G
guyuanzhang 已提交
98

99
unregisterMissionListener(listenerId: number): Promise<void>;
G
guyuanzhang 已提交
100 101 102

取消任务状态监听,以promise方式返回执行结果。

Y
yuyaozhi 已提交
103 104
**需要权限**:ohos.permission.MANAGE_MISSIONS

Y
yuyaozhi 已提交
105 106
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission

Y
yuyaozhi 已提交
107 108
**系统API**: 此接口为系统接口,三方应用不支持调用。

Y
yuyaozhi 已提交
109 110 111
**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
G
guyuanzhang 已提交
112 113 114
  | -------- | -------- | -------- | -------- |
  | listenerId | number | 是 | 系统任务状态监听方法的index值,和监听方法一一对应,由registerMissionListener方法返回。 |

Y
yuyaozhi 已提交
115 116 117 118 119 120
**返回值:**

  | 类型 | 说明 | 
  | -------- | -------- |
  | Promise<void> | promise方式返回执行结果。 | 

Y
yuyaozhi 已提交
121
**示例:**
G
guyuanzhang 已提交
122

Y
yuyaozhi 已提交
123
  ```js
G
guyuanzhang 已提交
124
  var listener =  {
Y
yuyaozhi 已提交
125 126 127 128 129 130 131 132 133 134 135 136
      onMissionCreated: function(mission){"--------onMissionCreated-------"},
      onMissionDestroyed: function(mission){"--------onMissionDestroyed-------"},
      onMissionSnapshotChanged: function(mission){"--------onMissionSnapshotChanged-------"},
      onMissionMovedToFront: function(mission){"--------onMissionMovedToFront-------"},
      onMissionIconUpdated: function(mission,icon){"--------onMissionIconUpdated-------"}
      };
      console.log("registerMissionListener")
      var listenerid = missionManager.registerMissionListener(listener);

      missionManager.unregisterMissionListener(listenerid).catch(function (err){
        console.log(err);
      });
G
guyuanzhang 已提交
137 138 139
  ```


Y
yuyaozhi 已提交
140
## missionManager.getMissionInfo
G
guyuanzhang 已提交
141

142
getMissionInfo(deviceId: string, missionId: number, callback: AsyncCallback<MissionInfo>): void;
G
guyuanzhang 已提交
143 144 145

获取任务信息,以异步回调的方式返回任务信息。

Y
yuyaozhi 已提交
146 147
**需要权限**:ohos.permission.MANAGE_MISSIONS

Y
yuyaozhi 已提交
148 149
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission

Y
yuyaozhi 已提交
150 151
**系统API**: 此接口为系统接口,三方应用不支持调用。

Y
yuyaozhi 已提交
152 153 154
**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
G
guyuanzhang 已提交
155 156 157
  | -------- | -------- | -------- | -------- |
  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
  | missionId | number | 是 | 任务ID。 |
158
  | callback | AsyncCallback<[MissionInfo](#missioninfo)> | 是 | 执行结果回调函数,返回任务信息。 |
G
guyuanzhang 已提交
159

Y
yuyaozhi 已提交
160
**示例:**
G
guyuanzhang 已提交
161

Y
yuyaozhi 已提交
162
  ```js
G
guyuanzhang 已提交
163 164
  import missionManager from '@ohos.application.missionManager'

Y
yuyaozhi 已提交
165
  var allMissions=missionManager.getMissionInfos("",10).catch(function(err){console.log(err);});
Y
yuyaozhi 已提交
166 167 168 169 170 171 172 173 174
      missionManager.getMissionInfo("", allMissions[0].missionId, (error, mission) => {
        console.log("getMissionInfo is called, error.code = " + error.code)
        console.log("mission.missionId = " + mission.missionId);
        console.log("mission.runningState = " + mission.runningState);
        console.log("mission.lockedState = " + mission.lockedState);
        console.log("mission.timestamp = " + mission.timestamp);
        console.log("mission.label = " + mission.label);
        console.log("mission.iconPath = " + mission.iconPath);
      });
G
guyuanzhang 已提交
175 176 177
  ```


Y
yuyaozhi 已提交
178
## missionManager.getMissionInfo
G
guyuanzhang 已提交
179

180
getMissionInfo(deviceId: string, missionId: number): Promise<MissionInfo>;
G
guyuanzhang 已提交
181 182 183

获取任务信息,以promise方式返回任务信息。

Y
yuyaozhi 已提交
184 185
**需要权限**:ohos.permission.MANAGE_MISSIONS

Y
yuyaozhi 已提交
186 187
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission

Y
yuyaozhi 已提交
188 189
**系统API**: 此接口为系统接口,三方应用不支持调用。

Y
yuyaozhi 已提交
190 191 192
**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
G
guyuanzhang 已提交
193 194 195 196
  | -------- | -------- | -------- | -------- |
  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
  | missionId | number | 是 | 任务ID。 |

Y
yuyaozhi 已提交
197 198 199
**返回值:**

  | 类型 | 说明 |
G
guyuanzhang 已提交
200
  | -------- | -------- |
201
  | Promise<[MissionInfo](#missioninfo)> | 任务信息。 |
G
guyuanzhang 已提交
202

Y
yuyaozhi 已提交
203
**示例:**
G
guyuanzhang 已提交
204

Y
yuyaozhi 已提交
205
  ```js
G
guyuanzhang 已提交
206 207
  import missionManager from '@ohos.application.missionManager'

Y
yuyaozhi 已提交
208
  var mission = missionManager.getMissionInfo("", 10).catch(function (err){
G
guyuanzhang 已提交
209 210 211 212 213
      console.log(err);
  });
  ```


Y
yuyaozhi 已提交
214
## missionManager.getMissionInfos
G
guyuanzhang 已提交
215

216
getMissionInfos(deviceId: string, numMax: number, callback: AsyncCallback<Array<MissionInfo>>): void;
G
guyuanzhang 已提交
217 218 219

获取所有任务信息,以回调函数的方式返回任务信息数组。

Y
yuyaozhi 已提交
220 221
**需要权限**:ohos.permission.MANAGE_MISSIONS

Y
yuyaozhi 已提交
222 223
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission

Y
yuyaozhi 已提交
224 225
**系统API**: 此接口为系统接口,三方应用不支持调用。

Y
yuyaozhi 已提交
226 227 228
**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
G
guyuanzhang 已提交
229 230 231
  | -------- | -------- | -------- | -------- |
  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
  | numMax | number | 是 | 任务信息数量上限。 |
232
  | callback | AsyncCallback<Array<[MissionInfo](#missioninfo)>> | 是 | 执行结果回调函数,返回任务信息数组。 |
G
guyuanzhang 已提交
233

Y
yuyaozhi 已提交
234
**示例:**
G
guyuanzhang 已提交
235

Y
yuyaozhi 已提交
236
  ```js
G
guyuanzhang 已提交
237 238 239 240 241 242 243 244 245 246
  import missionManager from '@ohos.application.missionManager'

  missionManager.getMissionInfos("", 10, (error, missions) => {
      console.log("getMissionInfos is called, error.code = " + error.code);
      console.log("size = " + missions.length);
      console.log("missions = " + JSON.stringify(missions));
  })
  ```


Y
yuyaozhi 已提交
247
## missionManager.getMissionInfos
G
guyuanzhang 已提交
248

249
getMissionInfos(deviceId: string, numMax: number): Promise<Array<MissionInfo>>;
G
guyuanzhang 已提交
250 251 252

获取所有任务信息,以promise的方式返回任务信息数组。

Y
yuyaozhi 已提交
253 254
**需要权限**:ohos.permission.MANAGE_MISSIONS

Y
yuyaozhi 已提交
255 256
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission

Y
yuyaozhi 已提交
257 258
**系统API**: 此接口为系统接口,三方应用不支持调用。

Y
yuyaozhi 已提交
259 260 261
**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
G
guyuanzhang 已提交
262 263 264 265
  | -------- | -------- | -------- | -------- |
  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
  | numMax | number | 是 | 任务信息数量上限。 |

Y
yuyaozhi 已提交
266 267 268
**返回值:**

  | 类型 | 说明 |
G
guyuanzhang 已提交
269
  | -------- | -------- |
270
  | Promise<Array<[MissionInfo](#missioninfo)>> | 任务信息数组。 |
G
guyuanzhang 已提交
271

Y
yuyaozhi 已提交
272
**示例:**
G
guyuanzhang 已提交
273

Y
yuyaozhi 已提交
274
  ```js
G
guyuanzhang 已提交
275 276
  import missionManager from '@ohos.application.missionManager'

277
  var allMissions = missionManager.getMissionInfos("", 10).catch(function (err){
G
guyuanzhang 已提交
278 279 280 281 282
      console.log(err);
  });
  ```


Y
yuyaozhi 已提交
283
## missionManager.getMissionSnapShot
G
guyuanzhang 已提交
284

285
getMissionSnapShot(deviceId: string, missionId: number, callback: AsyncCallback<MissionSnapshot>): void;
G
guyuanzhang 已提交
286 287 288

获取任务快照,以回调函数的方式返回快照内容。

Y
yuyaozhi 已提交
289 290
**需要权限**:ohos.permission.MANAGE_MISSIONS

Y
yuyaozhi 已提交
291 292
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission

Y
yuyaozhi 已提交
293 294
**系统API**: 此接口为系统接口,三方应用不支持调用。

Y
yuyaozhi 已提交
295 296 297
**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
G
guyuanzhang 已提交
298 299 300 301 302
  | -------- | -------- | -------- | -------- |
  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
  | missionId | number | 是 | 任务ID。 |
  | callback | AsyncCallback<[MissionSnapshot](js-apis-application-MissionSnapshot.md)> | 是 | 执行结果回调函数,返回任务快照信息。 |

Y
yuyaozhi 已提交
303
**示例:**
G
guyuanzhang 已提交
304

Y
yuyaozhi 已提交
305
  ```js
G
guyuanzhang 已提交
306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321
  import missionManager from '@ohos.application.missionManager'

  missionManager.getMissionInfos("", 10, (error, missions) => {
    console.log("getMissionInfos is called, error.code = " + error.code);
    console.log("size = " + missions.length);
    console.log("missions = " + JSON.stringify(missions));
    var id = missions[0].missionId;

    missionManager.getMissionSnapShot("", id, (error, snapshot) => {
  	console.log("getMissionSnapShot is called, error.code = " + error.code);
  	console.log("bundleName = " + snapshot.ability.bundleName);
  })
  })
  ```


Y
yuyaozhi 已提交
322
## missionManager.getMissionSnapShot
G
guyuanzhang 已提交
323

324
getMissionSnapShot(deviceId: string, missionId: number): Promise<MissionSnapshot>;
G
guyuanzhang 已提交
325 326 327

获取任务快照,以promise的方式返回快照内容。

Y
yuyaozhi 已提交
328 329
**需要权限**:ohos.permission.MANAGE_MISSIONS

Y
yuyaozhi 已提交
330 331
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission

Y
yuyaozhi 已提交
332 333
**系统API**: 此接口为系统接口,三方应用不支持调用。

Y
yuyaozhi 已提交
334 335 336
**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
G
guyuanzhang 已提交
337 338 339 340
  | -------- | -------- | -------- | -------- |
  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
  | missionId | number | 是 | 任务ID。 |

Y
yuyaozhi 已提交
341 342 343
**返回值:**

  | 类型 | 说明 |
G
guyuanzhang 已提交
344
  | -------- | -------- |
345
  | Promise<[MissionSnapshot](js-apis-application-MissionSnapshot.md)> | 任务快照信息。 |
G
guyuanzhang 已提交
346

Y
yuyaozhi 已提交
347
**示例:**
G
guyuanzhang 已提交
348

Y
yuyaozhi 已提交
349
  ```js
G
guyuanzhang 已提交
350 351
  import missionManager from '@ohos.application.missionManager'

Y
yuyaozhi 已提交
352 353 354 355 356 357 358 359 360 361 362
  var allMissions;
  missionManager.getMissionInfos("",10).then(function(res){
    allMissions=res;
    }).catch(function(err){console.log(err);});
    console.log("size = " + allMissions.length);
    console.log("missions = " + JSON.stringify(allMissions));
    var id = allMissions[0].missionId;

    var snapshot = missionManager.getMissionSnapShot("", id).catch(function (err){
        console.log(err);
    });
G
guyuanzhang 已提交
363 364 365
  ```


Y
yuyaozhi 已提交
366
## missionManager.lockMission
G
guyuanzhang 已提交
367

368
lockMission(missionId: number, callback: AsyncCallback<void>): void;
G
guyuanzhang 已提交
369 370 371

锁定指定任务id的任务,以回调函数的方式返回。

Y
yuyaozhi 已提交
372 373
**需要权限**:ohos.permission.MANAGE_MISSIONS

Y
yuyaozhi 已提交
374 375
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission

Y
yuyaozhi 已提交
376 377
**系统API**: 此接口为系统接口,三方应用不支持调用。

Y
yuyaozhi 已提交
378 379 380
**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
G
guyuanzhang 已提交
381 382 383 384
  | -------- | -------- | -------- | -------- |
  | missionId | number | 是 | 任务ID。 |
  | callback | AsyncCallback<void> | 是 | 执行结果回调函数。 |

Y
yuyaozhi 已提交
385
**示例:**
G
guyuanzhang 已提交
386

Y
yuyaozhi 已提交
387
  ```js
G
guyuanzhang 已提交
388 389 390 391 392 393 394 395 396 397 398 399 400 401 402
  import missionManager from '@ohos.application.missionManager'

  missionManager.getMissionInfos("", 10, (error, missions) => {
    console.log("getMissionInfos is called, error.code = " + error.code);
    console.log("size = " + missions.length);
    console.log("missions = " + JSON.stringify(missions));
    var id = missions[0].missionId;

    missionManager.lockMission(id).then(() => {
  	console.log("lockMission is called ");
  });
  });
  ```


Y
yuyaozhi 已提交
403
## missionManager.lockMission
G
guyuanzhang 已提交
404

405
lockMission(missionId: number): Promise<void>;
G
guyuanzhang 已提交
406 407 408

锁定指定任务id的任务,以promise方式返回。

Y
yuyaozhi 已提交
409 410
**需要权限**:ohos.permission.MANAGE_MISSIONS

Y
yuyaozhi 已提交
411 412
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission

Y
yuyaozhi 已提交
413 414
**系统API**: 此接口为系统接口,三方应用不支持调用。

Y
yuyaozhi 已提交
415 416 417
**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
G
guyuanzhang 已提交
418 419 420
  | -------- | -------- | -------- | -------- |
  | missionId | number | 是 | 任务ID。 |

Y
yuyaozhi 已提交
421 422 423 424 425 426
**返回值:**

  | 类型 | 说明 | 
  | -------- | -------- |
  | Promise<void> | promise方式返回执行结果。 | 

Y
yuyaozhi 已提交
427
**示例:**
G
guyuanzhang 已提交
428

Y
yuyaozhi 已提交
429
  ```js
G
guyuanzhang 已提交
430
  import missionManager from '@ohos.application.missionManager'
Y
yuyaozhi 已提交
431 432 433 434
  var allMissions;
  missionManager.getMissionInfos("",10).then(function(res){
    allMissions=res;
  }).catch(function(err){console.log(err);});
G
guyuanzhang 已提交
435 436 437 438
  console.log("size = " + allMissions.length);
  console.log("missions = " + JSON.stringify(allMissions));
  var id = allMissions[0].missionId;

439
  missionManager.lockMission(id).catch(function (err){
G
guyuanzhang 已提交
440 441 442 443 444
      console.log(err);
  });
  ```


Y
yuyaozhi 已提交
445
## missionManager.unlockMission
G
guyuanzhang 已提交
446

447
unlockMission(missionId: number, callback: AsyncCallback<void>): void;
G
guyuanzhang 已提交
448 449 450

解锁指定任务id的任务,以回调函数的方式返回。

Y
yuyaozhi 已提交
451 452
**需要权限**:ohos.permission.MANAGE_MISSIONS

Y
yuyaozhi 已提交
453 454
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission

Y
yuyaozhi 已提交
455 456
**系统API**: 此接口为系统接口,三方应用不支持调用。

Y
yuyaozhi 已提交
457 458
**参数:**

R
RayShih 已提交
459 460 461 462
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| missionId | number | 是 | 任务ID。 |
| callback | AsyncCallback<void> | 是 | 执行结果回调函数。 |
G
guyuanzhang 已提交
463

Y
yuyaozhi 已提交
464
**示例:**
G
guyuanzhang 已提交
465

Y
yuyaozhi 已提交
466
  ```js
G
guyuanzhang 已提交
467 468 469 470 471 472 473 474 475 476 477 478 479 480 481
  import missionManager from '@ohos.application.missionManager'

  missionManager.getMissionInfos("", 10, (error, missions) => {
    console.log("getMissionInfos is called, error.code = " + error.code);
    console.log("size = " + missions.length);
    console.log("missions = " + JSON.stringify(missions));
    var id = missions[0].missionId;

    missionManager.unlockMission(id).then(() => {
  	console.log("unlockMission is called ");
  });
  });
  ```


Y
yuyaozhi 已提交
482
## missionManager.unlockMission
G
guyuanzhang 已提交
483

484
unlockMission(missionId: number): Promise<void>;
G
guyuanzhang 已提交
485 486 487

解锁指定任务id的任务,以promise的方式返回。

Y
yuyaozhi 已提交
488 489
**需要权限**:ohos.permission.MANAGE_MISSIONS

Y
yuyaozhi 已提交
490 491
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission

Y
yuyaozhi 已提交
492 493
**系统API**: 此接口为系统接口,三方应用不支持调用。

Y
yuyaozhi 已提交
494 495 496
**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
G
guyuanzhang 已提交
497 498 499
  | -------- | -------- | -------- | -------- |
  | missionId | number | 是 | 任务ID。 |

Y
yuyaozhi 已提交
500 501 502 503 504 505
**返回值:**

  | 类型 | 说明 | 
  | -------- | -------- |
  | Promise<void> | promise方式返回执行结果。 | 

Y
yuyaozhi 已提交
506
**示例:**
G
guyuanzhang 已提交
507

Y
yuyaozhi 已提交
508
  ```js
G
guyuanzhang 已提交
509 510
  import missionManager from '@ohos.application.missionManager'

Y
yuyaozhi 已提交
511 512 513 514
  var allMissions;
  missionManager.getMissionInfos("",10).then(function(res){
    allMissions=res;
  }).catch(function(err){console.log(err);});
G
guyuanzhang 已提交
515 516 517 518
  console.log("size = " + allMissions.length);
  console.log("missions = " + JSON.stringify(allMissions));
  var id = allMissions[0].missionId;

519
  missionManager.lockMission(id).catch(function (err){
G
guyuanzhang 已提交
520 521
      console.log(err);
  });
522
  missionManager.unlockMission(id).catch(function (err){
G
guyuanzhang 已提交
523 524 525 526 527
      console.log(err);
  });
  ```


Y
yuyaozhi 已提交
528
## missionManager.clearMission
G
guyuanzhang 已提交
529

530
clearMission(missionId: number, callback: AsyncCallback<void>): void;
G
guyuanzhang 已提交
531 532 533

清理指定任务id的任务,无论该任务是否被锁定,以回调函数的方式返回。

Y
yuyaozhi 已提交
534 535
**需要权限**:ohos.permission.MANAGE_MISSIONS

Y
yuyaozhi 已提交
536 537
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission

Y
yuyaozhi 已提交
538 539
**系统API**: 此接口为系统接口,三方应用不支持调用。

Y
yuyaozhi 已提交
540 541 542
**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
G
guyuanzhang 已提交
543 544 545 546
  | -------- | -------- | -------- | -------- |
  | missionId | number | 是 | 任务ID。 |
  | callback | AsyncCallback<void> | 是 | 执行结果回调函数。 |

Y
yuyaozhi 已提交
547
**示例:**
G
guyuanzhang 已提交
548

Y
yuyaozhi 已提交
549
  ```js
G
guyuanzhang 已提交
550 551 552 553 554 555 556 557 558 559 560 561 562 563 564
  import missionManager from '@ohos.application.missionManager'

  missionManager.getMissionInfos("", 10, (error, missions) => {
    console.log("getMissionInfos is called, error.code = " + error.code);
    console.log("size = " + missions.length);
    console.log("missions = " + JSON.stringify(missions));
    var id = missions[0].missionId;

    missionManager.clearMission(id).then(() => {
  	console.log("clearMission is called ");
  });
  });
  ```


Y
yuyaozhi 已提交
565
## missionManager.clearMission
G
guyuanzhang 已提交
566

567
clearMission(missionId: number): Promise<void>;
G
guyuanzhang 已提交
568 569 570

清理指定任务id的任务,无论该任务是否被锁定,以promise的方式返回。

Y
yuyaozhi 已提交
571 572
**需要权限**:ohos.permission.MANAGE_MISSIONS

Y
yuyaozhi 已提交
573 574
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission

Y
yuyaozhi 已提交
575 576
**系统API**: 此接口为系统接口,三方应用不支持调用。

Y
yuyaozhi 已提交
577 578 579
**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
G
guyuanzhang 已提交
580 581 582
  | -------- | -------- | -------- | -------- |
  | missionId | number | 是 | 任务ID。 |

Y
yuyaozhi 已提交
583 584 585 586 587 588
**返回值:**

  | 类型 | 说明 | 
  | -------- | -------- |
  | Promise<void> | promise方式返回执行结果。 | 

Y
yuyaozhi 已提交
589
**示例:**
G
guyuanzhang 已提交
590

Y
yuyaozhi 已提交
591
  ```js
G
guyuanzhang 已提交
592 593
  import missionManager from '@ohos.application.missionManager'

Y
yuyaozhi 已提交
594 595 596 597
  var allMissions;
  missionManager.getMissionInfos("",10).then(function(res){
    allMissions=res;
  }).catch(function(err){console.log(err);});
G
guyuanzhang 已提交
598 599 600 601
  console.log("size = " + allMissions.length);
  console.log("missions = " + JSON.stringify(allMissions));
  var id = allMissions[0].missionId;

602
  missionManager.clearMission(id).catch(function (err){
G
guyuanzhang 已提交
603 604 605 606 607
    console.log(err);
  });
  ```


Y
yuyaozhi 已提交
608
## missionManager.clearAllMissions
G
guyuanzhang 已提交
609

610
clearAllMissions(callback: AsyncCallback<void>): void;
G
guyuanzhang 已提交
611 612 613

清理所有未锁定的任务,以回调函数的方式返回。

Y
yuyaozhi 已提交
614 615
**需要权限**:ohos.permission.MANAGE_MISSIONS

Y
yuyaozhi 已提交
616
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
G
guyuanzhang 已提交
617

Y
yuyaozhi 已提交
618 619
**系统API**: 此接口为系统接口,三方应用不支持调用。

Y
yuyaozhi 已提交
620 621 622
**示例:**

  ```js
G
guyuanzhang 已提交
623 624 625 626 627 628 629 630
  import missionManager from '@ohos.application.missionManager'

  missionManager.clearAllMissions().then(() => {
    console.log("clearAllMissions is called ");
  });
  ```


Y
yuyaozhi 已提交
631
## missionManager.clearAllMissions
G
guyuanzhang 已提交
632

633
clearAllMissions(): Promise<void>;
G
guyuanzhang 已提交
634 635 636

清理所有未锁定的任务,以promise的方式返回。

Y
yuyaozhi 已提交
637 638
**需要权限**:ohos.permission.MANAGE_MISSIONS

Y
yuyaozhi 已提交
639
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
G
guyuanzhang 已提交
640

Y
yuyaozhi 已提交
641 642
**系统API**: 此接口为系统接口,三方应用不支持调用。

Y
yuyaozhi 已提交
643 644 645 646 647 648
**返回值:**

  | 类型 | 说明 | 
  | -------- | -------- |
  | Promise<void> | promise方式返回执行结果。 | 

Y
yuyaozhi 已提交
649 650 651
**示例:**

  ```js
G
guyuanzhang 已提交
652
  import missionManager from '@ohos.application.missionManager'
653
  missionManager.clearAllMissions().catch(function (err){
G
guyuanzhang 已提交
654 655 656 657 658
    console.log(err);
  });
  ```


Y
yuyaozhi 已提交
659
## missionManager.moveMissionToFront
G
guyuanzhang 已提交
660

661
moveMissionToFront(missionId: number, callback: AsyncCallback<void>): void;
G
guyuanzhang 已提交
662 663 664

把指定任务id的任务切到前台,以回调函数的方式返回。

Y
yuyaozhi 已提交
665 666
**需要权限**:ohos.permission.MANAGE_MISSIONS

Y
yuyaozhi 已提交
667 668
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission

Y
yuyaozhi 已提交
669 670
**系统API**: 此接口为系统接口,三方应用不支持调用。

Y
yuyaozhi 已提交
671 672 673
**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
G
guyuanzhang 已提交
674 675 676 677
  | -------- | -------- | -------- | -------- |
  | missionId | number | 是 | 任务ID。 |
  | callback | AsyncCallback<void> | 是 | 执行结果回调函数。 |

Y
yuyaozhi 已提交
678
**示例:**
G
guyuanzhang 已提交
679

Y
yuyaozhi 已提交
680
  ```js
G
guyuanzhang 已提交
681 682 683 684 685 686 687 688 689 690 691 692 693 694 695
  import missionManager from '@ohos.application.missionManager'

  missionManager.getMissionInfos("", 10, (error, missions) => {
    console.log("getMissionInfos is called, error.code = " + error.code);
    console.log("size = " + missions.length);
    console.log("missions = " + JSON.stringify(missions));
    var id = missions[0].missionId;

    missionManager.moveMissionToFront(id).then(() => {
  	console.log("moveMissionToFront is called ");
  });
  });
  ```


Y
yuyaozhi 已提交
696
## missionManager.moveMissionToFront
G
guyuanzhang 已提交
697

698
moveMissionToFront(missionId: number, options: StartOptions, callback: AsyncCallback<void>): void;
G
guyuanzhang 已提交
699 700 701

把指定任务id的任务切到前台,同时指定任务切换到前台时的启动参数,例如窗口模式、设备ID等,以回调函数的方式返回。

Y
yuyaozhi 已提交
702 703
**需要权限**:ohos.permission.MANAGE_MISSIONS

Y
yuyaozhi 已提交
704 705
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission

Y
yuyaozhi 已提交
706 707
**系统API**: 此接口为系统接口,三方应用不支持调用。

Y
yuyaozhi 已提交
708 709 710
**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
G
guyuanzhang 已提交
711 712
  | -------- | -------- | -------- | -------- |
  | missionId | number | 是 | 任务ID。 |
X
xuzhihao 已提交
713
  | options | [StartOptions](js-apis-application-StartOptions.md) | 是 | 启动参数选项,用于指定任务切到前台时的窗口模式,设备ID等。 |
G
guyuanzhang 已提交
714 715
  | callback | AsyncCallback<void> | 是 | 执行结果回调函数。 |

Y
yuyaozhi 已提交
716
**示例:**
G
guyuanzhang 已提交
717

Y
yuyaozhi 已提交
718
  ```js
G
guyuanzhang 已提交
719 720 721 722 723 724 725 726 727 728 729 730 731 732 733
  import missionManager from '@ohos.application.missionManager'

  missionManager.getMissionInfos("", 10, (error, missions) => {
    console.log("getMissionInfos is called, error.code = " + error.code);
    console.log("size = " + missions.length);
    console.log("missions = " + JSON.stringify(missions));
    var id = missions[0].missionId;

    missionManager.moveMissionToFront(id,{windowMode : 101}).then(() => {
  	console.log("moveMissionToFront is called ");
    });
  });
  ```


Y
yuyaozhi 已提交
734
## missionManager.moveMissionToFront
G
guyuanzhang 已提交
735

736
moveMissionToFront(missionId: number, options?: StartOptions): Promise<void>;
G
guyuanzhang 已提交
737

R
RayShih 已提交
738
把指定任务id的任务切到前台,同时指定任务切换到前台时的启动参数,例如窗口模式、设备ID等,以promise的方式返回。
G
guyuanzhang 已提交
739

Y
yuyaozhi 已提交
740 741
**需要权限**:ohos.permission.MANAGE_MISSIONS

Y
yuyaozhi 已提交
742 743
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission

Y
yuyaozhi 已提交
744 745
**系统API**: 此接口为系统接口,三方应用不支持调用。

Y
yuyaozhi 已提交
746 747 748
**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
G
guyuanzhang 已提交
749 750
  | -------- | -------- | -------- | -------- |
  | missionId | number | 是 | 任务ID。 |
X
xuzhihao 已提交
751
  | options | [StartOptions](js-apis-application-StartOptions.md) | 否 | 启动参数选项,用于指定任务切到前台时的窗口模式,设备ID等。 |
G
guyuanzhang 已提交
752

Y
yuyaozhi 已提交
753 754 755 756 757 758
**返回值:**

  | 类型 | 说明 | 
  | -------- | -------- |
  | Promise<void> | promise方式返回执行结果。 | 

Y
yuyaozhi 已提交
759
**示例:**
G
guyuanzhang 已提交
760

Y
yuyaozhi 已提交
761
  ```js
G
guyuanzhang 已提交
762 763
  import missionManager from '@ohos.application.missionManager'

Y
yuyaozhi 已提交
764 765 766 767
  var allMissions;
  missionManager.getMissionInfos("",10).then(function(res){
    allMissions=res;
  }).catch(function(err){console.log(err);});
G
guyuanzhang 已提交
768 769 770 771
  console.log("size = " + allMissions.length);
  console.log("missions = " + JSON.stringify(allMissions));
  var id = allMissions[0].missionId;

772
  missionManager.moveMissionToFront(id).catch(function (err){
G
guyuanzhang 已提交
773 774 775
    console.log(err);
  });
  ```
Y
yuyaozhi 已提交
776 777 778 779 780

## MissionInfo

表示Ability对应任务信息的枚举。

Y
yuyaozhi 已提交
781 782 783
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Mission

**系统API**: 此接口为系统接口,三方应用不支持调用。
Y
yuyaozhi 已提交
784 785 786 787 788 789 790

| 名称 | 参数类型 | 可读 | 可写 | 说明 | 
| -------- | -------- | -------- | -------- | -------- |
| missionId | number | 是 | 是 | 表示任务ID。| 
| runningState | number | 是 | 是 | 表示运行状态。 | 
| lockedState | boolean | 是 | 是 | 表示锁定状态。 | 
| timestamp | string | 是 | 是 | 表示任务的最近创建或更新时间。 | 
ahjxliubao2's avatar
ahjxliubao2 已提交
791
| want | [Want](js-apis-application-Want.md) | 是 | 是 | 表示任务的Want信息。 | 
Y
yuyaozhi 已提交
792 793
| label | string | 是 | 是 | 表示任务的标签。 | 
| iconPath | string | 是 | 是 | 表示任务的图标路径。 | 
M
mingxihua 已提交
794
| continuable | boolean | 是 | 是 | 表示任务是否可以迁移。 |