1# @ohos.app.ability.missionManager (missionManager)(系统接口)
2
3missionManager模块提供系统任务管理能力,包括对系统任务执行锁定、解锁、清理、切换到前台等操作。
4
5> **说明:**
6>
7> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8>
9> 本模块接口均为系统接口,三方应用不支持调用。
10
11## 导入模块
12
13```ts
14import { missionManager } from '@kit.AbilityKit';
15```
16
17## 权限列表
18
19ohos.permission.MANAGE_MISSIONS
20
21## missionManager.on('mission')
22
23on(type:'mission', listener: MissionListener): number
24
25注册系统任务状态监听器。
26
27**需要权限**:ohos.permission.MANAGE_MISSIONS
28
29**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
30
31**系统接口**:此接口为系统接口。
32
33**参数:**
34
35  | 参数名 | 类型 | 必填 | 说明 |
36  | -------- | -------- | -------- | -------- |
37  | type     | string   | 是       | 监听的任务名称。 |
38  | listener | [MissionListener](js-apis-inner-application-missionListener-sys.md) | 是 | 系统任务监听器。 |
39
40**错误码:**
41
42以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。
43
44| 错误码ID | 错误信息 |
45| ------- | -------------------------------- |
46| 201 | Permission denied. |
47| 202 | Not System App. Interface caller is not a system app. |
48| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
49
50**返回值:**
51
52  | 类型 | 说明 |
53  | -------- | -------- |
54  | number | 监听器的index值,由系统创建,在注册系统任务状态监听时分配,和监听器一一对应 。 |
55
56**示例:**
57
58```ts
59import { missionManager, UIAbility, AbilityConstant, common, Want } from '@kit.AbilityKit';
60import { BusinessError } from '@kit.BasicServicesKit';
61import { window } from '@kit.ArkUI';
62import { image } from '@kit.ImageKit';
63
64let listener: missionManager.MissionListener = {
65  onMissionCreated: (mission: number) => {console.log('--------onMissionCreated-------');},
66  onMissionDestroyed: (mission: number) => {console.log('--------onMissionDestroyed-------');},
67  onMissionSnapshotChanged: (mission: number) => {console.log('--------onMissionSnapshotChanged-------');},
68  onMissionMovedToFront: (mission: number) => {console.log('--------onMissionMovedToFront-------');},
69  onMissionIconUpdated: (mission: number, icon: image.PixelMap) => {console.log('--------onMissionIconUpdated-------');},
70  onMissionClosed: (mission: number) => {console.log('--------onMissionClosed-------');},
71  onMissionLabelUpdated: (mission: number) => {console.log('--------onMissionLabelUpdated-------');}
72};
73
74let listenerId = -1;
75let abilityWant: Want;
76let context: common.UIAbilityContext;
77
78export default class EntryAbility extends UIAbility {
79  onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) {
80    console.log('[Demo] EntryAbility onCreate');
81    abilityWant = want;
82    context = this.context;
83  }
84
85  onDestroy() {
86    try {
87      if (listenerId !== -1) {
88        missionManager.off('mission', listenerId).catch((err: BusinessError) => {
89          console.log(JSON.stringify(err));
90        });
91      }
92    } catch (paramError) {
93      let code = (paramError as BusinessError).code;
94      let message = (paramError as BusinessError).message;
95      console.error(`error: ${code}, ${message} `);
96    }
97    console.log('[Demo] EntryAbility onDestroy');
98  }
99
100  onWindowStageCreate(windowStage: window.WindowStage) {
101    // Main window is created, set main page for this ability
102    console.log('[Demo] EntryAbility onWindowStageCreate');
103    try {
104      listenerId = missionManager.on('mission', listener);
105    } catch (paramError) {
106      let code = (paramError as BusinessError).code;
107      let message = (paramError as BusinessError).message;
108      console.error(`error: ${code}, ${message} `);
109    }
110
111    windowStage.loadContent('pages/index', (err, data) => {
112      if (err.code) {
113        console.error(`Failed to load the content. Cause: ${JSON.stringify(err)}`);
114        return;
115      }
116      console.info(`Succeeded in loading the content. Data: ${JSON.stringify(data)}`);
117    });
118  }
119}
120```
121
122
123## missionManager.off('mission')
124
125off(type: 'mission', listenerId: number, callback: AsyncCallback<void>): void
126
127解注册任务状态监听器。
128
129**需要权限**:ohos.permission.MANAGE_MISSIONS
130
131**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
132
133**系统接口**:此接口为系统接口。
134
135**参数:**
136
137  | 参数名 | 类型 | 必填 | 说明 |
138  | -------- | -------- | -------- | -------- |
139  | type     | string   | 是       | 取消监听的任务名称。 |
140  | listenerId | number | 是 | 系统任务状态监器法的index值,和监听器一一对应,由on方法返回。 |
141  | callback | AsyncCallback<void> | 是 | 执行结果回调函数。 |
142
143**错误码**:
144
145以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
146
147| 错误码ID | 错误信息 |
148| ------- | -------- |
149| 201 | Permission denied. |
150| 202 | Not System App. Interface caller is not a system app. |
151| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
152| 16300002 | The specified mission listener does not exist. |
153
154**示例:**
155
156```ts
157import { missionManager, UIAbility, AbilityConstant, common, Want } from '@kit.AbilityKit';
158import { BusinessError } from '@kit.BasicServicesKit';
159import { window } from '@kit.ArkUI';
160import { image } from '@kit.ImageKit';
161
162let listener: missionManager.MissionListener = {
163  onMissionCreated: (mission: number) => {console.log('--------onMissionCreated-------');},
164  onMissionDestroyed: (mission: number) => {console.log('--------onMissionDestroyed-------');},
165  onMissionSnapshotChanged: (mission: number) => {console.log('--------onMissionSnapshotChanged-------');},
166  onMissionMovedToFront: (mission: number) => {console.log('--------onMissionMovedToFront-------');},
167  onMissionIconUpdated: (mission: number, icon: image.PixelMap) => {console.log('--------onMissionIconUpdated-------');},
168  onMissionClosed: (mission: number) => {console.log('--------onMissionClosed-------');},
169  onMissionLabelUpdated: (mission: number) => {console.log('--------onMissionLabelUpdated-------');}
170};
171
172let listenerId = -1;
173let abilityWant: Want;
174let context: common.UIAbilityContext;
175
176export default class EntryAbility extends UIAbility {
177  onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) {
178    console.log('[Demo] EntryAbility onCreate');
179    abilityWant = want;
180    context = this.context;
181  }
182
183  onDestroy() {
184    try {
185      if (listenerId !== -1) {
186        missionManager.off('mission', listenerId, (err: BusinessError) => {
187          console.log(`${err.code}`);
188        });
189      }
190    } catch (paramError) {
191      let code = (paramError as BusinessError).code;
192      let message = (paramError as BusinessError).message;
193      console.error(`error: ${code}, ${message} `);
194    }
195    console.log('[Demo] EntryAbility onDestroy');
196  }
197
198  onWindowStageCreate(windowStage: window.WindowStage) {
199    // Main window is created, set main page for this ability
200    console.log('[Demo] EntryAbility onWindowStageCreate');
201    try {
202      listenerId = missionManager.on('mission', listener);
203    } catch (paramError) {
204      let code = (paramError as BusinessError).code;
205      let message = (paramError as BusinessError).message;
206      console.error(`error: ${code}, ${message} `);
207    }
208
209    windowStage.loadContent('pages/index', (err: BusinessError, data) => {
210      if (err.code) {
211        console.error(`Failed to load the content. Cause: ${JSON.stringify(err)}`);
212        return;
213      }
214      console.info(`Succeeded in loading the content. Data: ${JSON.stringify(data)}`);
215    });
216  }
217}
218```
219
220
221## missionManager.off('mission')
222
223off(type: 'mission', listenerId: number): Promise<void>
224
225解注册任务状态监听,以promise方式返回执行结果。
226
227**需要权限**:ohos.permission.MANAGE_MISSIONS
228
229**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
230
231**系统接口**:此接口为系统接口。
232
233**参数:**
234
235  | 参数名 | 类型 | 必填 | 说明 |
236  | -------- | -------- | -------- | -------- |
237  | type     | string   | 是       | 取消监听的任务名称。 |
238  | listenerId | number | 是 | 系统任务状态监听器的index值,和监听器一一对应,由on方法返回。 |
239
240**返回值:**
241
242  | 类型 | 说明 |
243  | -------- | -------- |
244  | Promise<void> | promise方式返回执行结果。 |
245
246**错误码**:
247
248以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
249
250| 错误码ID | 错误信息 |
251| ------- | -------- |
252| 201 | Permission denied. |
253| 202 | Not System App. Interface caller is not a system app. |
254| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
255| 16300002 | The specified mission listener does not exist. |
256
257**示例:**
258
259```ts
260import { missionManager, UIAbility, AbilityConstant, common, Want } from '@kit.AbilityKit';
261import { BusinessError } from '@kit.BasicServicesKit';
262import { window } from '@kit.ArkUI';
263import { image } from '@kit.ImageKit';
264
265let listener: missionManager.MissionListener = {
266  onMissionCreated: (mission: number) => {console.log('--------onMissionCreated-------');},
267  onMissionDestroyed: (mission: number) => {console.log('--------onMissionDestroyed-------');},
268  onMissionSnapshotChanged: (mission: number) => {console.log('--------onMissionSnapshotChanged-------');},
269  onMissionMovedToFront: (mission: number) => {console.log('--------onMissionMovedToFront-------');},
270  onMissionIconUpdated: (mission: number, icon: image.PixelMap) => {console.log('--------onMissionIconUpdated-------');},
271  onMissionClosed: (mission: number) => {console.log('--------onMissionClosed-------');},
272  onMissionLabelUpdated: (mission: number) => {console.log('--------onMissionLabelUpdated-------');}
273};
274
275let listenerId = -1;
276let abilityWant: Want;
277let context: common.UIAbilityContext;
278
279export default class EntryAbility extends UIAbility {
280  onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) {
281    console.log('[Demo] EntryAbility onCreate');
282    abilityWant = want;
283    context = this.context;
284  }
285
286  onDestroy() {
287    try {
288      if (listenerId !== -1) {
289        missionManager.off('mission', listenerId).catch((err: BusinessError) => {
290          console.log(`${err.code}`);
291        });
292      }
293    } catch (paramError) {
294      let code = (paramError as BusinessError).code;
295      let message = (paramError as BusinessError).message;
296      console.error(`error: ${code}, ${message} `);
297    }
298    console.log('[Demo] EntryAbility onDestroy');
299  }
300
301  onWindowStageCreate(windowStage: window.WindowStage) {
302    // Main window is created, set main page for this ability
303    console.log('[Demo] EntryAbility onWindowStageCreate');
304    try {
305      listenerId = missionManager.on('mission', listener);
306    } catch (paramError) {
307      let code = (paramError as BusinessError).code;
308      let message = (paramError as BusinessError).message;
309      console.error(`error: ${code}, ${message} `);
310    }
311
312    windowStage.loadContent('pages/index', (err: BusinessError, data) => {
313      if (err.code) {
314        console.error(`Failed to load the content. Cause: ${JSON.stringify(err)}`);
315        return;
316      }
317      console.info(`Succeeded in loading the content. Data: ${JSON.stringify(data)}`);
318    });
319  }
320}
321```
322
323## missionManager.getMissionInfo
324
325getMissionInfo(deviceId: string, missionId: number, callback: AsyncCallback<MissionInfo>): void
326
327获取任务信息,以异步回调的方式返回任务信息。
328
329**需要权限**:ohos.permission.MANAGE_MISSIONS
330
331**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
332
333**系统接口**:此接口为系统接口。
334
335**参数:**
336
337  | 参数名 | 类型 | 必填 | 说明 |
338  | -------- | -------- | -------- | -------- |
339  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
340  | missionId | number | 是 | 任务ID。 |
341  | callback | AsyncCallback<[MissionInfo](js-apis-inner-application-missionInfo-sys.md)> | 是 | 执行结果回调函数,返回任务信息。 |
342
343**错误码:**
344
345以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。
346
347| 错误码ID | 错误信息 |
348| ------- | -------------------------------- |
349| 201 | Permission denied. |
350| 202 | Not System App. Interface caller is not a system app. |
351| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
352
353**示例:**
354
355```ts
356import { missionManager } from '@kit.AbilityKit';
357import { BusinessError } from '@kit.BasicServicesKit';
358
359let testMissionId = 1;
360
361missionManager.getMissionInfos('',10)
362  .then((allMissions: Array<missionManager.MissionInfo>) => {
363    try {
364      if (allMissions && allMissions.length > 0) {
365        testMissionId = allMissions[0].missionId;
366      }
367
368      missionManager.getMissionInfo('', testMissionId, (error: BusinessError, mission: missionManager.MissionInfo) => {
369        if (error) {
370          console.error(`getMissionInfo failed, error.code: ${error.code}, error.message: ${error.message}`);
371        } else {
372          console.log(`mission.missionId = ${mission.missionId}`);
373          console.log(`mission.runningState = ${mission.runningState}`);
374          console.log(`mission.lockedState = ${mission.lockedState}`);
375          console.log(`mission.timestamp = ${mission.timestamp}`);
376          console.log(`mission.label = ${mission.label}`);
377          console.log(`mission.iconPath = ${mission.iconPath}`);
378        }
379      });
380    } catch (paramError) {
381      let code = (paramError as BusinessError).code;
382      let message = (paramError as BusinessError).message;
383      console.error(`error: ${code}, ${message} `);
384    }
385  })
386  .catch((err: BusinessError) => {console.log(`${err.code}`);});
387```
388
389## missionManager.getMissionInfo
390
391getMissionInfo(deviceId: string, missionId: number): Promise&lt;MissionInfo&gt;
392
393获取任务信息,以promise方式返回任务信息。
394
395**需要权限**:ohos.permission.MANAGE_MISSIONS
396
397**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
398
399**系统接口**:此接口为系统接口。
400
401**参数:**
402
403  | 参数名 | 类型 | 必填 | 说明 |
404  | -------- | -------- | -------- | -------- |
405  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
406  | missionId | number | 是 | 任务ID。 |
407
408**返回值:**
409
410  | 类型 | 说明 |
411  | -------- | -------- |
412  | Promise&lt;[MissionInfo](js-apis-inner-application-missionInfo-sys.md)&gt; | 任务信息。 |
413
414**错误码:**
415
416以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。
417
418| 错误码ID | 错误信息 |
419| ------- | -------------------------------- |
420| 201 | Permission denied. |
421| 202 | Not System App. Interface caller is not a system app. |
422| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
423
424**示例:**
425
426```ts
427import { missionManager } from '@kit.AbilityKit';
428import { BusinessError } from '@kit.BasicServicesKit';
429
430let testMissionId = 1;
431
432try {
433  missionManager.getMissionInfo('', testMissionId).then((data: missionManager.MissionInfo) => {
434    console.info(`getMissionInfo successfully. Data: ${JSON.stringify(data)}`);
435  }).catch((error: BusinessError) => {
436    console.error(`getMissionInfo failed. Cause: ${error.message}`);
437  });
438} catch (error) {
439  let err: BusinessError = error as BusinessError;
440  console.error(`getMissionInfo failed. Cause: ${err.message}`);
441}
442```
443
444## missionManager.getMissionInfos
445
446getMissionInfos(deviceId: string, numMax: number, callback: AsyncCallback&lt;Array&lt;MissionInfo&gt;&gt;): void
447
448获取所有任务信息,以回调函数的方式返回任务信息数组。
449
450**需要权限**:ohos.permission.MANAGE_MISSIONS
451
452**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
453
454**系统接口**:此接口为系统接口。
455
456**参数:**
457
458  | 参数名 | 类型 | 必填 | 说明 |
459  | -------- | -------- | -------- | -------- |
460  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
461  | numMax | number | 是 | 任务信息数量上限。 |
462  | callback | AsyncCallback&lt;Array&lt;[MissionInfo](js-apis-inner-application-missionInfo-sys.md)&gt;&gt; | 是 | 执行结果回调函数,返回任务信息数组。 |
463
464**错误码:**
465
466以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。
467
468| 错误码ID | 错误信息 |
469| ------- | -------------------------------- |
470| 201 | Permission denied. |
471| 202 | Not System App. Interface caller is not a system app. |
472| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
473
474**示例:**
475
476```ts
477import { missionManager } from '@kit.AbilityKit';
478import { BusinessError } from '@kit.BasicServicesKit';
479
480try {
481  missionManager.getMissionInfos('', 10, (error: BusinessError, missions: Array<missionManager.MissionInfo>) => {
482    if (error) {
483      console.error(`getMissionInfos failed, error.code: ${error.code}, error.message: ${error.message}`);
484    } else {
485      console.log(`size = ${missions.length}`);
486      console.log(`missions = ${JSON.stringify(missions)}`);
487    }
488  });
489} catch (paramError) {
490  let code = (paramError as BusinessError).code;
491  let message = (paramError as BusinessError).message;
492  console.error(`error: ${code}, ${message} `);
493}
494```
495
496
497## missionManager.getMissionInfos
498
499getMissionInfos(deviceId: string, numMax: number): Promise&lt;Array&lt;MissionInfo&gt;&gt;
500
501获取所有任务信息,以promise的方式返回任务信息数组。
502
503**需要权限**:ohos.permission.MANAGE_MISSIONS
504
505**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
506
507**系统接口**:此接口为系统接口。
508
509**参数:**
510
511  | 参数名 | 类型 | 必填 | 说明 |
512  | -------- | -------- | -------- | -------- |
513  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
514  | numMax | number | 是 | 任务信息数量上限。 |
515
516**返回值:**
517
518  | 类型 | 说明 |
519  | -------- | -------- |
520  | Promise&lt;Array&lt;[MissionInfo](js-apis-inner-application-missionInfo-sys.md)&gt;&gt; | 任务信息数组。 |
521
522**错误码:**
523
524以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。
525
526| 错误码ID | 错误信息 |
527| ------- | -------------------------------- |
528| 201 | Permission denied. |
529| 202 | Not System App. Interface caller is not a system app. |
530| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
531
532**示例:**
533
534```ts
535import { missionManager } from '@kit.AbilityKit';
536import { BusinessError } from '@kit.BasicServicesKit';
537
538try {
539  missionManager.getMissionInfos('', 10).then((data: Array<missionManager.MissionInfo>) => {
540    console.info(`getMissionInfos successfully. Data: ${JSON.stringify(data)}`);
541  }).catch((error: BusinessError) => {
542    console.error(`getMissionInfos failed. Cause: ${error.message}`);
543  });
544} catch (error) {
545  let err: BusinessError = error as BusinessError;
546  console.error(`getMissionInfos failed. Cause: ${err.message}`);
547}
548```
549
550## missionManager.getMissionSnapShot
551
552getMissionSnapShot(deviceId: string, missionId: number, callback: AsyncCallback&lt;MissionSnapshot&gt;): void
553
554获取任务快照,以回调函数的方式返回快照内容。
555
556**需要权限**:ohos.permission.MANAGE_MISSIONS
557
558**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
559
560**系统接口**:此接口为系统接口。
561
562**参数:**
563
564  | 参数名 | 类型 | 必填 | 说明 |
565  | -------- | -------- | -------- | -------- |
566  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
567  | missionId | number | 是 | 任务ID。 |
568  | callback | AsyncCallback&lt;[MissionSnapshot](js-apis-inner-application-missionSnapshot-sys.md)&gt; | 是 | 执行结果回调函数,返回任务快照信息。 |
569
570**错误码:**
571
572以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。
573
574| 错误码ID | 错误信息 |
575| ------- | -------------------------------- |
576| 201 | Permission denied. |
577| 202 | Not System App. Interface caller is not a system app. |
578| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
579
580**示例:**
581```ts
582import { missionManager } from '@kit.AbilityKit';
583import { BusinessError } from '@kit.BasicServicesKit';
584
585let testMissionId = 2;
586
587try {
588  missionManager.getMissionSnapShot('', testMissionId, (err: BusinessError, data: missionManager.MissionSnapshot ) => {
589    if (err) {
590      console.error(`getMissionSnapShot failed: ${err.message}`);
591    } else {
592      console.info(`getMissionSnapShot successfully: ${JSON.stringify(data)}`);
593    }
594  });
595} catch (error) {
596  let err: BusinessError = error as BusinessError;
597  console.error(`getMissionSnapShot failed: ${err.message}`);
598}
599```
600
601## missionManager.getMissionSnapShot
602
603getMissionSnapShot(deviceId: string, missionId: number): Promise&lt;MissionSnapshot&gt;
604
605获取任务快照,以promise的方式返回快照内容。
606
607**需要权限**:ohos.permission.MANAGE_MISSIONS
608
609**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
610
611**系统接口**:此接口为系统接口。
612
613**参数:**
614
615  | 参数名 | 类型 | 必填 | 说明 |
616  | -------- | -------- | -------- | -------- |
617  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
618  | missionId | number | 是 | 任务ID。 |
619
620**返回值:**
621
622  | 类型 | 说明 |
623  | -------- | -------- |
624  | Promise&lt;[MissionSnapshot](js-apis-inner-application-missionSnapshot-sys.md)&gt; | 任务快照信息。 |
625
626**错误码:**
627
628以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。
629
630| 错误码ID | 错误信息 |
631| ------- | -------------------------------- |
632| 201 | Permission denied. |
633| 202 | Not System App. Interface caller is not a system app. |
634| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
635
636**示例:**
637```ts
638import { missionManager } from '@kit.AbilityKit';
639import { BusinessError } from '@kit.BasicServicesKit';
640
641let testMissionId = 2;
642
643try {
644  missionManager.getMissionSnapShot('', testMissionId).then((data: missionManager.MissionSnapshot) => {
645    console.info(`getMissionSnapShot successfully. Data: ${JSON.stringify(data)}`);
646  }).catch((error: BusinessError) => {
647    console.error(`getMissionSnapShot failed. Cause: ${error.message}`);
648  });
649} catch (error) {
650  let err: BusinessError = error as BusinessError;
651  console.error(`getMissionSnapShot failed. Cause: ${err.message}`);
652}
653```
654
655## missionManager.getLowResolutionMissionSnapShot
656
657getLowResolutionMissionSnapShot(deviceId: string, missionId: number, callback: AsyncCallback\<MissionSnapshot>): void
658
659获取任务低分辨率快照。
660
661**需要权限**:ohos.permission.MANAGE_MISSIONS
662
663**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
664
665**系统接口**:此接口为系统接口。
666
667**参数:**
668
669  | 参数名 | 类型 | 必填 | 说明 |
670  | -------- | -------- | -------- | -------- |
671  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
672  | missionId | number | 是 | 任务ID。 |
673  | callback | AsyncCallback&lt;[MissionSnapshot](js-apis-inner-application-missionSnapshot-sys.md)&gt; | 是 | 执行结果回调函数,返回任务快照信息。 |
674
675**错误码:**
676
677以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。
678
679| 错误码ID | 错误信息 |
680| ------- | -------------------------------- |
681| 201 | Permission denied. |
682| 202 | Not System App. Interface caller is not a system app. |
683| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
684
685**示例:**
686```ts
687import { missionManager } from '@kit.AbilityKit';
688import { BusinessError } from '@kit.BasicServicesKit';
689
690let testMissionId = 2;
691
692try {
693  missionManager.getLowResolutionMissionSnapShot('', testMissionId, (err: BusinessError, data: missionManager.MissionSnapshot) => {
694    if (err) {
695      console.error(`getLowResolutionMissionSnapShot failed: ${err.message}`);
696    } else {
697      console.info(`getLowResolutionMissionSnapShot successfully: ${JSON.stringify(data)}`);
698    }
699  });
700} catch (error) {
701  let err: BusinessError = error as BusinessError;
702  console.error(`getLowResolutionMissionSnapShot failed: ${err.message}`);
703}
704```
705
706## missionManager.getLowResolutionMissionSnapShot
707
708getLowResolutionMissionSnapShot(deviceId: string, missionId: number): Promise\<MissionSnapshot>
709
710获取任务低分辨率快照。
711
712**需要权限**:ohos.permission.MANAGE_MISSIONS
713
714**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
715
716**系统接口**:此接口为系统接口。
717
718**参数:**
719
720  | 参数名 | 类型 | 必填 | 说明 |
721  | -------- | -------- | -------- | -------- |
722  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
723  | missionId | number | 是 | 任务ID。 |
724
725**返回值:**
726
727  | 类型 | 说明 |
728  | -------- | -------- |
729  | Promise&lt;[MissionSnapshot](js-apis-inner-application-missionSnapshot-sys.md)&gt; | 任务快照信息。 |
730
731**错误码:**
732
733以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。
734
735| 错误码ID | 错误信息 |
736| ------- | -------------------------------- |
737| 201 | Permission denied. |
738| 202 | Not System App. Interface caller is not a system app. |
739| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
740
741**示例:**
742
743```ts
744import { missionManager } from '@kit.AbilityKit';
745import { BusinessError } from '@kit.BasicServicesKit';
746
747let testMissionId = 2;
748
749try {
750  missionManager.getLowResolutionMissionSnapShot('', testMissionId).then((data: missionManager.MissionSnapshot) => {
751    console.info(`getLowResolutionMissionSnapShot successfully. Data: ${JSON.stringify(data)}`);
752  }).catch((error: BusinessError) => {
753    console.error(`getLowResolutionMissionSnapShot failed. Cause: ${error.message}`);
754  });
755} catch (error) {
756  let err: BusinessError = error as BusinessError;
757  console.error(`getLowResolutionMissionSnapShot failed. Cause: ${err.message}`);
758}
759```
760
761
762## missionManager.lockMission
763
764lockMission(missionId: number, callback: AsyncCallback&lt;void&gt;): void
765
766锁定指定任务id的任务,以回调函数的方式返回。
767
768**需要权限**:ohos.permission.MANAGE_MISSIONS
769
770**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
771
772**系统接口**:此接口为系统接口。
773
774**参数:**
775
776  | 参数名 | 类型 | 必填 | 说明 |
777  | -------- | -------- | -------- | -------- |
778  | missionId | number | 是 | 任务ID。 |
779  | callback | AsyncCallback&lt;void&gt; | 是 | 执行结果回调函数。 |
780
781**错误码**:
782
783以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
784
785| 错误码ID | 错误信息 |
786| ------- | -------- |
787| 201 | Permission denied. |
788| 202 | Not System App. Interface caller is not a system app. |
789| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
790| 16300001 | Mission not found. |
791
792**示例:**
793
794```ts
795import { missionManager } from '@kit.AbilityKit';
796import { BusinessError } from '@kit.BasicServicesKit';
797
798let testMissionId = 2;
799
800try {
801  missionManager.lockMission(testMissionId, (err: BusinessError, data: void) => {
802    if (err) {
803      console.error(`lockMission failed: ${err.message}`);
804    } else {
805      console.info(`lockMission successfully: ${JSON.stringify(data)}`);
806    }
807  });
808} catch (error) {
809  let err: BusinessError = error as BusinessError;
810  console.error(`lockMission failed: ${err.message}`);
811}
812```
813
814## missionManager.lockMission
815
816lockMission(missionId: number): Promise&lt;void&gt;
817
818锁定指定任务id的任务,以promise方式返回。
819
820**需要权限**:ohos.permission.MANAGE_MISSIONS
821
822**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
823
824**系统接口**:此接口为系统接口。
825
826**参数:**
827
828  | 参数名 | 类型 | 必填 | 说明 |
829  | -------- | -------- | -------- | -------- |
830  | missionId | number | 是 | 任务ID。 |
831
832**返回值:**
833
834  | 类型 | 说明 |
835  | -------- | -------- |
836  | Promise&lt;void&gt; | promise方式返回执行结果。 |
837
838**错误码**:
839
840以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
841
842| 错误码ID | 错误信息 |
843| ------- | -------- |
844| 201 | Permission denied. |
845| 202 | Not System App. Interface caller is not a system app. |
846| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
847| 16300001 | Mission not found. |
848
849**示例:**
850```ts
851import { missionManager } from '@kit.AbilityKit';
852import { BusinessError } from '@kit.BasicServicesKit';
853
854let testMissionId = 2;
855
856try {
857  missionManager.lockMission(testMissionId).then((data: void) => {
858    console.info(`lockMission successfully. Data: ${JSON.stringify(data)}`);
859  }).catch((error: BusinessError) => {
860    console.error(`lockMission failed. Cause: ${error.message}`);
861  });
862} catch (error) {
863  let err: BusinessError = error as BusinessError;
864  console.error(`lockMission failed. Cause: ${err.message}`);
865}
866```
867
868## missionManager.unlockMission
869
870unlockMission(missionId: number, callback: AsyncCallback&lt;void&gt;): void
871
872解锁指定任务id的任务,以回调函数的方式返回。
873
874**需要权限**:ohos.permission.MANAGE_MISSIONS
875
876**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
877
878**系统接口**:此接口为系统接口。
879
880**参数:**
881
882| 参数名 | 类型 | 必填 | 说明 |
883| -------- | -------- | -------- | -------- |
884| missionId | number | 是 | 任务ID。 |
885| callback | AsyncCallback&lt;void&gt; | 是 | 执行结果回调函数。 |
886
887**错误码**:
888
889以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
890
891| 错误码ID | 错误信息 |
892| ------- | -------- |
893| 201 | Permission denied. |
894| 202 | Not System App. Interface caller is not a system app. |
895| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
896| 16300001 | Mission not found. |
897
898**示例:**
899```ts
900import { missionManager } from '@kit.AbilityKit';
901import { BusinessError } from '@kit.BasicServicesKit';
902
903let testMissionId = 2;
904
905try {
906  missionManager.unlockMission(testMissionId, (err: BusinessError, data: void) => {
907    if (err) {
908      console.error(`unlockMission failed: ${err.message}`);
909    } else {
910      console.info(`unlockMission successfully: ${JSON.stringify(data)}`);
911    }
912  });
913} catch (error) {
914  let err: BusinessError = error as BusinessError;
915  console.error(`unlockMission failed: ${err.message}`);
916}
917```
918
919## missionManager.unlockMission
920
921unlockMission(missionId: number): Promise&lt;void&gt;
922
923解锁指定任务id的任务,以promise的方式返回。
924
925**需要权限**:ohos.permission.MANAGE_MISSIONS
926
927**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
928
929**系统接口**:此接口为系统接口。
930
931**参数:**
932
933  | 参数名 | 类型 | 必填 | 说明 |
934  | -------- | -------- | -------- | -------- |
935  | missionId | number | 是 | 任务ID。 |
936
937**返回值:**
938
939  | 类型 | 说明 |
940  | -------- | -------- |
941  | Promise&lt;void&gt; | promise方式返回执行结果。 |
942
943**错误码**:
944
945以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
946
947| 错误码ID | 错误信息 |
948| ------- | -------- |
949| 201 | Permission denied. |
950| 202 | Not System App. Interface caller is not a system app. |
951| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
952| 16300001 | Mission not found. |
953
954**示例:**
955
956```ts
957import { missionManager } from '@kit.AbilityKit';
958import { BusinessError } from '@kit.BasicServicesKit';
959
960let testMissionId = 2;
961
962try {
963  missionManager.unlockMission(testMissionId).then((data: void) => {
964    console.info(`unlockMission successfully. Data: ${JSON.stringify(data)}`);
965  }).catch((error: BusinessError) => {
966    console.error(`unlockMission failed. Cause: ${error.message}`);
967  });
968} catch (error) {
969  let err: BusinessError = error as BusinessError;
970  console.error(`unlockMission failed. Cause: ${err.message}`);
971}
972```
973
974## missionManager.clearMission
975
976clearMission(missionId: number, callback: AsyncCallback&lt;void&gt;): void
977
978清理指定任务id的任务,无论该任务是否被锁定,以回调函数的方式返回。
979
980**需要权限**:ohos.permission.MANAGE_MISSIONS
981
982**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
983
984**系统接口**:此接口为系统接口。
985
986**参数:**
987
988  | 参数名 | 类型 | 必填 | 说明 |
989  | -------- | -------- | -------- | -------- |
990  | missionId | number | 是 | 任务ID。 |
991  | callback | AsyncCallback&lt;void&gt; | 是 | 执行结果回调函数。 |
992
993**错误码:**
994
995以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。
996
997| 错误码ID | 错误信息 |
998| ------- | -------------------------------- |
999| 201 | Permission denied. |
1000| 202 | Not System App. Interface caller is not a system app. |
1001| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
1002
1003**示例:**
1004
1005```ts
1006import { missionManager } from '@kit.AbilityKit';
1007import { BusinessError } from '@kit.BasicServicesKit';
1008
1009let testMissionId = 2;
1010
1011try {
1012  missionManager.clearMission(testMissionId, (err: BusinessError, data: void) => {
1013    if (err) {
1014      console.error(`clearMission failed: ${err.message}`);
1015    } else {
1016      console.info(`clearMission successfully: ${JSON.stringify(data)}`);
1017    }
1018  });
1019} catch (error) {
1020  let err: BusinessError = error as BusinessError;
1021  console.error(`clearMission failed: ${err.message}`);
1022}
1023```
1024
1025
1026## missionManager.clearMission
1027
1028clearMission(missionId: number): Promise&lt;void&gt;
1029
1030清理指定任务id的任务,无论该任务是否被锁定,以promise的方式返回。
1031
1032**需要权限**:ohos.permission.MANAGE_MISSIONS
1033
1034**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
1035
1036**系统接口**:此接口为系统接口。
1037
1038**参数:**
1039
1040  | 参数名 | 类型 | 必填 | 说明 |
1041  | -------- | -------- | -------- | -------- |
1042  | missionId | number | 是 | 任务ID。 |
1043
1044**返回值:**
1045
1046  | 类型 | 说明 |
1047  | -------- | -------- |
1048  | Promise&lt;void&gt; | promise方式返回执行结果。 |
1049
1050**错误码:**
1051
1052以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。
1053
1054| 错误码ID | 错误信息 |
1055| ------- | -------------------------------- |
1056| 201 | Permission denied. |
1057| 202 | Not System App. Interface caller is not a system app. |
1058| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
1059
1060**示例:**
1061
1062```ts
1063import { missionManager } from '@kit.AbilityKit';
1064import { BusinessError } from '@kit.BasicServicesKit';
1065
1066let testMissionId = 2;
1067
1068try {
1069  missionManager.clearMission(testMissionId).then((data: void) => {
1070    console.info(`clearMission successfully. Data: ${JSON.stringify(data)}`);
1071  }).catch((error: BusinessError) => {
1072    console.error(`clearMission failed. Cause: ${error.message}`);
1073  });
1074} catch (error) {
1075  let err: BusinessError = error as BusinessError;
1076  console.error(`clearMission failed. Cause: ${err.message}`);
1077}
1078```
1079
1080## missionManager.clearAllMissions
1081
1082clearAllMissions(callback: AsyncCallback&lt;void&gt;): void
1083
1084清理所有未锁定的任务,以回调函数的方式返回。
1085
1086**需要权限**:ohos.permission.MANAGE_MISSIONS
1087
1088**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
1089
1090**系统接口**:此接口为系统接口。
1091
1092**参数:**
1093
1094  | 参数名 | 类型 | 必填 | 说明 |
1095  | -------- | -------- | -------- | -------- |
1096  | callback | AsyncCallback&lt;void&gt; | 是 | 执行结果回调函数。 |
1097
1098**错误码:**
1099
1100以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。
1101
1102| 错误码ID | 错误信息 |
1103| ------- | -------------------------------- |
1104| 201 | Permission denied. |
1105| 202 | Not System App. Interface caller is not a system app. |
1106| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
1107
1108**示例:**
1109
1110```ts
1111import { missionManager } from '@kit.AbilityKit';
1112import { BusinessError } from '@kit.BasicServicesKit';
1113
1114try {
1115  missionManager.clearAllMissions((err: BusinessError) => {
1116    if (err) {
1117      console.error(`clearAllMissions failed: ${err.message}`);
1118    } else {
1119      console.info('clearAllMissions successfully.');
1120    }
1121  });
1122} catch (error) {
1123  let err: BusinessError = error as BusinessError;
1124  console.error(`clearAllMissions failed: ${err.message}`);
1125}
1126```
1127
1128## missionManager.clearAllMissions
1129
1130clearAllMissions(): Promise&lt;void&gt;
1131
1132清理所有未锁定的任务,以promise的方式返回。
1133
1134**需要权限**:ohos.permission.MANAGE_MISSIONS
1135
1136**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
1137
1138**系统接口**:此接口为系统接口。
1139
1140**返回值:**
1141
1142  | 类型 | 说明 |
1143  | -------- | -------- |
1144  | Promise&lt;void&gt; | promise方式返回执行结果。 |
1145
1146**错误码:**
1147
1148以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。
1149
1150| 错误码ID | 错误信息 |
1151| ------- | -------------------------------- |
1152| 201 | Permission denied. |
1153| 202 | Not System App. Interface caller is not a system app. |
1154
1155**示例:**
1156
1157```ts
1158import { missionManager } from '@kit.AbilityKit';
1159import { BusinessError } from '@kit.BasicServicesKit';
1160
1161try {
1162  missionManager.clearAllMissions().then((data: void) => {
1163    console.info(`clearAllMissions successfully. Data: ${JSON.stringify(data)}`);
1164  }).catch((err: BusinessError) => {
1165    console.error(`clearAllMissions failed: ${err.message}`);
1166  });
1167} catch (error) {
1168  let err: BusinessError = error as BusinessError;
1169  console.error(`clearAllMissions failed: ${err.message}`);
1170}
1171```
1172
1173## missionManager.moveMissionToFront
1174
1175moveMissionToFront(missionId: number, callback: AsyncCallback&lt;void&gt;): void
1176
1177把指定任务id的任务切到前台,以回调函数的方式返回。
1178
1179**需要权限**:ohos.permission.MANAGE_MISSIONS
1180
1181**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
1182
1183**系统接口**:此接口为系统接口。
1184
1185**参数:**
1186
1187  | 参数名 | 类型 | 必填 | 说明 |
1188  | -------- | -------- | -------- | -------- |
1189  | missionId | number | 是 | 任务ID。 |
1190  | callback | AsyncCallback&lt;void&gt; | 是 | 执行结果回调函数。 |
1191
1192**错误码**:
1193
1194以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
1195
1196| 错误码ID | 错误信息 |
1197| ------- | -------- |
1198| 201 | Permission denied. |
1199| 202 | Not System App. Interface caller is not a system app. |
1200| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
1201| 16000009 | An ability cannot be started or stopped in Wukong mode. |
1202
1203**示例:**
1204
1205```ts
1206import { missionManager } from '@kit.AbilityKit';
1207import { BusinessError } from '@kit.BasicServicesKit';
1208
1209let testMissionId = 2;
1210
1211try {
1212  missionManager.moveMissionToFront(testMissionId, (err: BusinessError, data: void) => {
1213    if (err) {
1214      console.error(`moveMissionToFront failed: ${err.message}`);
1215    } else {
1216      console.info(`moveMissionToFront successfully: ${JSON.stringify(data)}`);
1217    }
1218  });
1219} catch (error) {
1220  let err: BusinessError = error as BusinessError;
1221  console.error(`moveMissionToFront failed: ${err.message}`);
1222}
1223```
1224
1225## missionManager.moveMissionToFront
1226
1227moveMissionToFront(missionId: number, options: StartOptions, callback: AsyncCallback&lt;void&gt;): void
1228
1229把指定任务id的任务切到前台,同时指定任务切换到前台时的启动参数,例如窗口模式、设备ID等,以回调函数的方式返回。
1230
1231**需要权限**:ohos.permission.MANAGE_MISSIONS
1232
1233**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
1234
1235**系统接口**:此接口为系统接口。
1236
1237**参数:**
1238
1239  | 参数名 | 类型 | 必填 | 说明 |
1240  | -------- | -------- | -------- | -------- |
1241  | missionId | number | 是 | 任务ID。 |
1242  | options | [StartOptions](js-apis-app-ability-startOptions.md) | 是 | 启动参数选项,用于指定任务切到前台时的窗口模式,设备ID等。 |
1243  | callback | AsyncCallback&lt;void&gt; | 是 | 执行结果回调函数。 |
1244
1245**错误码**:
1246
1247以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
1248
1249| 错误码ID | 错误信息 |
1250| ------- | -------- |
1251| 201 | Permission denied. |
1252| 202 | Not System App. Interface caller is not a system app. |
1253| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
1254| 16000009 | An ability cannot be started or stopped in Wukong mode. |
1255
1256**示例:**
1257
1258```ts
1259import { missionManager } from '@kit.AbilityKit';
1260import { BusinessError } from '@kit.BasicServicesKit';
1261
1262let testMissionId = 2;
1263
1264try {
1265  missionManager.moveMissionToFront(testMissionId, {windowMode : 101}, (err: BusinessError, data: void) => {
1266    if (err) {
1267      console.error(`moveMissionToFront failed: ${err.message}`);
1268    } else {
1269      console.info(`moveMissionToFront successfully: ${JSON.stringify(data)}`);
1270    }
1271  });
1272} catch (error) {
1273  let err: BusinessError = error as BusinessError;
1274  console.error(`moveMissionToFront failed: ${err.message}`);
1275}
1276```
1277
1278## missionManager.moveMissionToFront
1279
1280moveMissionToFront(missionId: number, options?: StartOptions): Promise&lt;void&gt;
1281
1282把指定任务id的任务切到前台,同时指定任务切换到前台时的启动参数,例如窗口模式、设备ID等,以promise的方式返回。
1283
1284**需要权限**:ohos.permission.MANAGE_MISSIONS
1285
1286**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
1287
1288**系统接口**:此接口为系统接口。
1289
1290**参数:**
1291
1292  | 参数名 | 类型 | 必填 | 说明 |
1293  | -------- | -------- | -------- | -------- |
1294  | missionId | number | 是 | 任务ID。 |
1295  | options | [StartOptions](js-apis-app-ability-startOptions.md) | 否 | 启动参数选项,用于指定任务切到前台时的窗口模式,设备ID等。默认为空,表示按照默认启动参数。 |
1296
1297**返回值:**
1298
1299  | 类型 | 说明 |
1300  | -------- | -------- |
1301  | Promise&lt;void&gt; | promise方式返回执行结果。 |
1302
1303**错误码**:
1304
1305以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
1306
1307| 错误码ID | 错误信息 |
1308| ------- | -------- |
1309| 201 | Permission denied. |
1310| 202 | Not System App. Interface caller is not a system app. |
1311| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
1312| 16000009 | An ability cannot be started or stopped in Wukong mode. |
1313
1314**示例:**
1315
1316```ts
1317import { missionManager } from '@kit.AbilityKit';
1318import { BusinessError } from '@kit.BasicServicesKit';
1319
1320let testMissionId = 2;
1321
1322try {
1323  missionManager.moveMissionToFront(testMissionId).then((data: void) => {
1324    console.info(`moveMissionToFront successfully. Data: ${JSON.stringify(data)}`);
1325  }).catch((error: BusinessError) => {
1326    console.error(`moveMissionToFront failed. Cause: ${error.message}`);
1327  });
1328} catch (error) {
1329  let err: BusinessError = error as BusinessError;
1330  console.error(`moveMissionToFront failed. Cause: ${err.message}`);
1331}
1332```
1333
1334## missionManager.moveMissionsToForeground<sup>10+</sup>
1335
1336moveMissionsToForeground(missionIds: Array&lt;number&gt;, callback: AsyncCallback&lt;void&gt;): void
1337
1338将指定任务批量切到前台,以回调函数的方式返回。
1339
1340**需要权限**:ohos.permission.MANAGE_MISSIONS
1341
1342**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
1343
1344**系统接口**:此接口为系统接口。
1345
1346**参数:**
1347
1348  | 参数名 | 类型 | 必填 | 说明 |
1349  | -------- | -------- | -------- | -------- |
1350  | missionIds | Array&lt;number&gt; | 是 | 任务ID数组。 |
1351  | callback | AsyncCallback&lt;void&gt; | 是 | 执行结果回调函数。 |
1352
1353**错误码**:
1354
1355以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
1356
1357| 错误码ID | 错误信息 |
1358| ------- | -------- |
1359| 201 | Permission denied. |
1360| 202 | Not System App. Interface caller is not a system app. |
1361| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
1362| 16000050 | Internal error. |
1363
1364**示例:**
1365
1366```ts
1367import { abilityManager, missionManager } from '@kit.AbilityKit';
1368import { BusinessError } from '@kit.BasicServicesKit';
1369
1370try {
1371  missionManager.getMissionInfos("", 10, (error: BusinessError, missionInfos: Array<missionManager.MissionInfo>) => {
1372    if (error.code) {
1373      console.log("getMissionInfos failed, error.code:" + JSON.stringify(error.code));
1374      return;
1375    }
1376    if (missionInfos.length < 1) {
1377      return;
1378    }
1379
1380    let toShows = new Array<number>();
1381    for (let missionInfo of missionInfos) {
1382      if (missionInfo.abilityState == abilityManager.AbilityState.BACKGROUND) {
1383        toShows.push(missionInfo.missionId);
1384      }
1385    }
1386    missionManager.moveMissionsToForeground(toShows, (err: BusinessError, data: void) => {
1387      if (err) {
1388        console.error(`moveMissionsToForeground failed: ${err.message}`);
1389      } else {
1390        console.info(`moveMissionsToForeground successfully: ${JSON.stringify(data)}`);
1391      }
1392    });
1393  });
1394} catch (paramError) {
1395  let code = (paramError as BusinessError).code;
1396  let message = (paramError as BusinessError).message;
1397  console.error(`error: ${code}, ${message} `);
1398}
1399```
1400
1401## missionManager.moveMissionsToForeground<sup>10+</sup>
1402
1403moveMissionsToForeground(missionIds: Array&lt;number&gt;, topMission: number, callback: AsyncCallback&lt;void&gt;): void
1404
1405将指定任务批量切换到前台,并将任务ID等于topMission的任务移动到最顶层,以回调函数的方式返回。
1406
1407**需要权限**:ohos.permission.MANAGE_MISSIONS
1408
1409**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
1410
1411**系统接口**:此接口为系统接口。
1412
1413**参数:**
1414
1415  | 参数名 | 类型 | 必填 | 说明 |
1416  | -------- | -------- | -------- | -------- |
1417  | missionIds | Array&lt;number&gt; | 是 | 任务ID数组。 |
1418  | topMission | number | 是 | 待移动到最顶层的任务ID |
1419  | callback | AsyncCallback&lt;void&gt; | 是 | 执行结果回调函数。 |
1420
1421**错误码**:
1422
1423以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
1424
1425| 错误码ID | 错误信息 |
1426| ------- | -------- |
1427| 201 | Permission denied. |
1428| 202 | Not System App. Interface caller is not a system app. |
1429| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
1430| 16000050 | Internal error. |
1431
1432**示例:**
1433
1434```ts
1435import { abilityManager, missionManager } from '@kit.AbilityKit';
1436import { BusinessError } from '@kit.BasicServicesKit';
1437
1438try {
1439  missionManager.getMissionInfos("", 10, (error: BusinessError, missionInfos: Array<missionManager.MissionInfo>) => {
1440    if (error.code) {
1441      console.log("getMissionInfos failed, error.code:" + JSON.stringify(error.code));
1442      return;
1443    }
1444    if (missionInfos.length < 1) {
1445      return;
1446    }
1447
1448    let toShows = new Array<number>();
1449    for (let missionInfo of missionInfos) {
1450      if (missionInfo.abilityState == abilityManager.AbilityState.BACKGROUND) {
1451        toShows.push(missionInfo.missionId);
1452      }
1453    }
1454    missionManager.moveMissionsToForeground(toShows, toShows[0], (err: BusinessError, data: void) => {
1455      if (err) {
1456        console.error(`moveMissionsToForeground failed: ${err.message}`);
1457      } else {
1458        console.info(`moveMissionsToForeground successfully: ${JSON.stringify(data)}`);
1459      }
1460    });
1461  });
1462} catch (paramError) {
1463  let code = (paramError as BusinessError).code;
1464  let message = (paramError as BusinessError).message;
1465  console.error(`error: ${code}, ${message} `);
1466}
1467```
1468
1469## missionManager.moveMissionsToForeground<sup>10+</sup>
1470
1471moveMissionsToForeground(missionIds: Array&lt;number&gt;, topMission?: number): Promise&lt;void&gt;
1472
1473将指定任务批量切到前台,并将任务ID等于topMission的任务移动到最顶层,以promise的方式返回。
1474
1475**需要权限**:ohos.permission.MANAGE_MISSIONS
1476
1477**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
1478
1479**系统接口**:此接口为系统接口。
1480
1481**参数:**
1482
1483  | 参数名 | 类型 | 必填 | 说明 |
1484  | -------- | -------- | -------- | -------- |
1485  | missionIds | Array&lt;number&gt; | 是 | 任务ID数组。 |
1486  | topMission | number | 否 | 待移动到最顶层的任务ID。默认值为-1,表示将默认任务移动到最顶层。 |
1487
1488**返回值:**
1489
1490  | 类型 | 说明 |
1491  | -------- | -------- |
1492  | Promise&lt;void&gt; | promise方式返回执行结果。 |
1493
1494**错误码**:
1495
1496以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
1497
1498| 错误码ID | 错误信息 |
1499| ------- | -------- |
1500| 201 | Permission denied. |
1501| 202 | Not System App. Interface caller is not a system app. |
1502| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
1503| 16000050 | Internal error. |
1504
1505**示例:**
1506
1507```ts
1508import { abilityManager, missionManager } from '@kit.AbilityKit';
1509import { BusinessError } from '@kit.BasicServicesKit';
1510
1511try {
1512  missionManager.getMissionInfos("", 10, (error: BusinessError, missionInfos: Array<missionManager.MissionInfo>) => {
1513    if (error.code) {
1514      console.log("getMissionInfos failed, error.code:" + JSON.stringify(error.code));
1515      return;
1516    }
1517    if (missionInfos.length < 1) {
1518      return;
1519    }
1520
1521    let toShows = new Array<number>();
1522    for (let missionInfo of missionInfos) {
1523      if (missionInfo.abilityState == abilityManager.AbilityState.BACKGROUND) {
1524        toShows.push(missionInfo.missionId);
1525      }
1526    }
1527    missionManager.moveMissionsToForeground(toShows, toShows[0]).then(() => {
1528      console.log("moveMissionsToForeground is called" );
1529    });
1530  });
1531} catch (paramError) {
1532  let code = (paramError as BusinessError).code;
1533  let message = (paramError as BusinessError).message;
1534  console.error(`error: ${code}, ${message} `);
1535}
1536```
1537
1538## missionManager.moveMissionsToBackground<sup>10+</sup>
1539
1540moveMissionsToBackground(missionIds: Array&lt;number&gt;, callback: AsyncCallback&lt;Array&lt;number&gt;&gt;): void
1541
1542将指定任务批量切到后台,以回调函数的方式返回, 返回的结果任务ID按被隐藏时的任务层级排序。
1543
1544**需要权限**:ohos.permission.MANAGE_MISSIONS
1545
1546**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
1547
1548**系统接口**:此接口为系统接口。
1549
1550**参数:**
1551
1552  | 参数名 | 类型 | 必填 | 说明 |
1553  | -------- | -------- | -------- | -------- |
1554  | missionIds | Array&lt;number&gt; | 是 | 任务ID数组。 |
1555  | callback | AsyncCallback&lt;Array&lt;number&gt;&gt; | 是 | 执行结果回调函数。 |
1556
1557**错误码**:
1558
1559以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
1560
1561| 错误码ID | 错误信息 |
1562| ------- | -------- |
1563| 201 | Permission denied. |
1564| 202 | Not System App. Interface caller is not a system app. |
1565| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
1566| 16000050 | Internal error. |
1567
1568**示例:**
1569
1570```ts
1571import { abilityManager, missionManager } from '@kit.AbilityKit';
1572import { BusinessError } from '@kit.BasicServicesKit';
1573
1574try {
1575  missionManager.getMissionInfos("", 10, (error: BusinessError, missionInfos: Array<missionManager.MissionInfo>) => {
1576    if (error.code) {
1577      console.log("getMissionInfos failed, error.code:" + JSON.stringify(error.code));
1578      return;
1579    }
1580
1581    let toHides = new Array<number>();
1582    for (let missionInfo of missionInfos) {
1583      if (missionInfo.abilityState ==  abilityManager.AbilityState.FOREGROUND) {
1584        toHides.push(missionInfo.missionId);
1585      }
1586    }
1587    missionManager.moveMissionsToBackground(toHides, (err: BusinessError, data: Array<number>) => {
1588      if (err) {
1589        console.error(`moveMissionsToBackground failed: ${err.message}`);
1590      } else {
1591        console.info(`moveMissionsToBackground successfully: ${JSON.stringify(data)}`);
1592      }
1593    });
1594  });
1595} catch (paramError) {
1596  let code = (paramError as BusinessError).code;
1597  let message = (paramError as BusinessError).message;
1598  console.error(`error: ${code}, ${message} `);
1599}
1600```
1601
1602## missionManager.moveMissionsToBackground<sup>10+</sup>
1603
1604moveMissionsToBackground(missionIds : Array&lt;number&gt;): Promise&lt;Array&lt;number&gt;&gt;
1605
1606将指定任务批量切到后台,以promise的方式返回, 返回的结果按被隐藏时的任务层级排序。
1607
1608**需要权限**:ohos.permission.MANAGE_MISSIONS
1609
1610**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
1611
1612**系统接口**:此接口为系统接口。
1613
1614**参数:**
1615
1616  | 参数名 | 类型 | 必填 | 说明 |
1617  | -------- | -------- | -------- | -------- |
1618  | missionIds | Array&lt;number&gt; | 是 | 任务ID数组。 |
1619
1620**返回值:**
1621
1622  | 类型 | 说明 |
1623  | -------- | -------- |
1624  | Promise&lt;Array&lt;number&gt;&gt; | promise方式返回执行结果。 |
1625
1626**错误码**:
1627
1628以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
1629
1630| 错误码ID | 错误信息 |
1631| ------- | -------- |
1632| 201 | Permission denied. |
1633| 202 | Not System App. Interface caller is not a system app. |
1634| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
1635| 16000050 | Internal error. |
1636
1637**示例:**
1638
1639```ts
1640import { abilityManager, missionManager } from '@kit.AbilityKit';
1641import { BusinessError } from '@kit.BasicServicesKit';
1642
1643try {
1644  missionManager.getMissionInfos("", 10, (error: BusinessError, missionInfos: Array<missionManager.MissionInfo>) => {
1645    if (error.code) {
1646      console.log("getMissionInfos failed, error.code:" + JSON.stringify(error.code));
1647      return;
1648    }
1649
1650    let toHides = new Array<number>();
1651    for (let missionInfo of missionInfos) {
1652      if (missionInfo.abilityState ==  abilityManager.AbilityState.FOREGROUND) {
1653        toHides.push(missionInfo.missionId);
1654      }
1655    }
1656    missionManager.moveMissionsToBackground(toHides).then((hideRes: Array<number>) => {
1657      console.log("moveMissionsToBackground is called, res: "+ JSON.stringify(hideRes));
1658    });
1659  });
1660} catch (paramError) {
1661  let code = (paramError as BusinessError).code;
1662  let message = (paramError as BusinessError).message;
1663  console.error(`error: ${code}, ${message} `);
1664}
1665```