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