1# @ohos.application.missionManager (missionManager)(系统接口)
2
3missionManager模块提供系统任务管理能力,包括对系统任务执行锁定、解锁、清理、切换到前台等操作。
4
5> **说明:**
6>
7> 本模块首批接口从API version 8开始支持,从API version 9废弃,替换模块为[@ohos.app.ability.missionManager](js-apis-app-ability-missionManager-sys.md)。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8>
9> 本模块接口均为系统接口,三方应用不支持调用。
10
11## 导入模块
12
13```ts
14import missionManager from '@ohos.application.missionManager';
15```
16
17## 权限列表
18
19ohos.permission.MANAGE_MISSIONS
20
21## missionManager.registerMissionListener
22
23registerMissionListener(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  | listener | [MissionListener](js-apis-inner-application-missionListener-sys.md) | 是 | 系统任务监听器。 |
38
39**返回值:**
40
41  | 类型 | 说明 |
42  | -------- | -------- |
43  | number | 监听器的index值,由系统创建,在注册系统任务状态监听器时分配,和监听器一一对应 。 |
44
45**示例:**
46
47```ts
48import missionManager from '@ohos.application.missionManager';
49
50console.log('registerMissionListener');
51let listenerid = missionManager.registerMissionListener({
52  onMissionCreated: (mission) => {console.log('--------onMissionCreated-------');},
53  onMissionDestroyed: (mission) => {console.log('--------onMissionDestroyed-------');},
54  onMissionSnapshotChanged: (mission) => {console.log('--------onMissionSnapshotChanged-------');},
55  onMissionMovedToFront: (mission) => {console.log('--------onMissionMovedToFront-------');},
56  onMissionIconUpdated: (mission, icon) => {console.log('--------onMissionIconUpdated-------');},
57  onMissionClosed: (mission) => {console.log('--------onMissionClosed-------');},
58  onMissionLabelUpdated: (mission) => {console.log('--------onMissionLabelUpdated-------');}
59});
60```
61
62
63## missionManager.unregisterMissionListener
64
65unregisterMissionListener(listenerId: number, callback: AsyncCallback<void>): void
66
67解注册任务状态监听器。
68
69**需要权限**:ohos.permission.MANAGE_MISSIONS
70
71**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
72
73**系统接口**:此接口为系统接口。
74
75**参数:**
76
77  | 参数名 | 类型 | 必填 | 说明 |
78  | -------- | -------- | -------- | -------- |
79  | listenerId | number | 是 | 系统任务状态监听器的index值,和监听器一一对应,由registerMissionListener方法返回。 |
80  | callback | AsyncCallback<void> | 是 | 执行结果回调函数。 |
81
82**示例:**
83
84```ts
85  import missionManager from '@ohos.application.missionManager';
86
87  console.log('registerMissionListener');
88  let listenerid = missionManager.registerMissionListener({
89    onMissionCreated: (mission) => {console.log('--------onMissionCreated-------');},
90    onMissionDestroyed: (mission) => {console.log('--------onMissionDestroyed-------');},
91    onMissionSnapshotChanged: (mission) => {console.log('--------onMissionSnapshotChanged-------');},
92    onMissionMovedToFront: (mission) => {console.log('--------onMissionMovedToFront-------');},
93    onMissionIconUpdated: (mission, icon) => {console.log('--------onMissionIconUpdated-------');},
94    onMissionClosed: (mission) => {console.log('--------onMissionClosed-------');},
95    onMissionLabelUpdated: (mission) => {console.log('--------onMissionLabelUpdated-------');}
96  });
97
98  missionManager.unregisterMissionListener(listenerid, (error) => {
99      console.error('unregisterMissionListener fail, error: ${error}');
100  });
101```
102
103
104## missionManager.unregisterMissionListener
105
106unregisterMissionListener(listenerId: number): Promise<void>
107
108反注册任务状态监听器。使用Promise异步回调。
109
110**需要权限**:ohos.permission.MANAGE_MISSIONS
111
112**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
113
114**系统接口**:此接口为系统接口。
115
116**参数:**
117
118  | 参数名 | 类型 | 必填 | 说明 |
119  | -------- | -------- | -------- | -------- |
120  | listenerId | number | 是 | 系统任务状态监听器的index值,和监听器一一对应,由registerMissionListener方法返回。 |
121
122**返回值:**
123
124  | 类型 | 说明 |
125  | -------- | -------- |
126  | Promise<void> | Promise对象。无返回结果的Promise对象。 |
127
128**示例:**
129
130```ts
131  import missionManager from '@ohos.application.missionManager';
132  import { BusinessError } from '@ohos.base';
133
134  console.log('registerMissionListener');
135  let listenerid = missionManager.registerMissionListener({
136    onMissionCreated: (mission) => {console.log('--------onMissionCreated-------');},
137    onMissionDestroyed: (mission) => {console.log('--------onMissionDestroyed-------');},
138    onMissionSnapshotChanged: (mission) => {console.log('--------onMissionSnapshotChanged-------');},
139    onMissionMovedToFront: (mission) => {console.log('--------onMissionMovedToFront-------');},
140    onMissionIconUpdated: (mission, icon) => {console.log('--------onMissionIconUpdated-------');},
141    onMissionClosed: (mission) => {console.log('--------onMissionClosed-------');},
142    onMissionLabelUpdated: (mission) => {console.log('--------onMissionLabelUpdated-------');}
143  });
144
145  missionManager.unregisterMissionListener(listenerid).catch((error: BusinessError) => {
146      console.error('unregisterMissionListener fail, error: ${error}');
147  });
148```
149
150
151## missionManager.getMissionInfo
152
153getMissionInfo(deviceId: string, missionId: number, callback: AsyncCallback<MissionInfo>): void
154
155获取单个任务信息。使用callback异步回调。
156
157**需要权限**:ohos.permission.MANAGE_MISSIONS
158
159**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
160
161**系统接口**:此接口为系统接口。
162
163**参数:**
164
165  | 参数名 | 类型 | 必填 | 说明 |
166  | -------- | -------- | -------- | -------- |
167  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
168  | missionId | number | 是 | 任务ID。 |
169  | callback | AsyncCallback<[MissionInfo](js-apis-inner-application-missionInfo-sys.md)> | 是 | 回调函数,返回任务信息。 |
170
171**示例:**
172
173  ```ts
174  import missionManager from '@ohos.application.missionManager';
175
176  let missionId: number = 0;
177
178  missionManager.getMissionInfo('', missionId, (error, mission) => {
179    if (error.code) {
180      console.error(`getMissionInfo failed, error.code: ${error.code}, error.message: ${error.message}`);
181      return;
182    }
183
184    console.log(`mission.missionId = ${mission.missionId}`);
185    console.log(`mission.runningState = ${mission.runningState}`);
186    console.log(`mission.lockedState = ${mission.lockedState}`);
187    console.log(`mission.timestamp = ${mission.timestamp}`);
188    console.log(`mission.label = ${mission.label}`);
189    console.log(`mission.iconPath = ${mission.iconPath}`);
190  });
191  ```
192
193
194## missionManager.getMissionInfo
195
196getMissionInfo(deviceId: string, missionId: number): Promise<MissionInfo>
197
198获取单个任务信息。使用Promise异步回调。
199
200**需要权限**:ohos.permission.MANAGE_MISSIONS
201
202**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
203
204**系统接口**:此接口为系统接口。
205
206**参数:**
207
208  | 参数名 | 类型 | 必填 | 说明 |
209  | -------- | -------- | -------- | -------- |
210  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
211  | missionId | number | 是 | 任务ID。 |
212
213**返回值:**
214
215  | 类型 | 说明 |
216  | -------- | -------- |
217  | Promise<[MissionInfo](js-apis-inner-application-missionInfo-sys.md)> | Promise对象,返回任务信息。 |
218
219**示例:**
220
221  ```ts
222  import missionManager from '@ohos.application.missionManager';
223  import { BusinessError } from '@ohos.base';
224
225  let testMissionId = 1;
226try {
227    missionManager.getMissionInfo('', testMissionId).then((data) => {
228        console.info(`getMissionInfo successfully. Data: ${JSON.stringify(data)}`);
229    }).catch((error: BusinessError) => {
230        console.error(`getMissionInfo failed. Cause: ${error.message}`);
231    });
232} catch (error) {
233    console.error(`getMissionInfo failed. Cause: ${error.message}`);
234}
235  ```
236
237
238## missionManager.getMissionInfos
239
240getMissionInfos(deviceId: string, numMax: number, callback: AsyncCallback<Array<MissionInfo>>): void
241
242获取所有任务信息。使用callback异步回调。
243
244**需要权限**:ohos.permission.MANAGE_MISSIONS
245
246**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
247
248**系统接口**:此接口为系统接口。
249
250**参数:**
251
252  | 参数名 | 类型 | 必填 | 说明 |
253  | -------- | -------- | -------- | -------- |
254  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
255  | numMax | number | 是 | 任务信息数量上限。 |
256  | callback | AsyncCallback<Array<[MissionInfo](js-apis-inner-application-missionInfo-sys.md)>> | 是 | 回调函数,返回任务信息数组。 |
257
258**示例:**
259
260  ```ts
261  import missionManager from '@ohos.application.missionManager';
262
263  missionManager.getMissionInfos('', 10, (error, missions) => {
264      if (error.code) {
265          console.error(`getMissionInfos failed, error.code: ${error.code}, error.message: ${error.message}`);
266          return;
267      }
268      console.log(`size = ${missions.length}`);
269      console.log(`missions = ${JSON.stringify(missions)}`);
270  });
271  ```
272
273
274## missionManager.getMissionInfos
275
276getMissionInfos(deviceId: string, numMax: number): Promise<Array<MissionInfo>>
277
278获取所有任务信息。使用Promise异步回调。
279
280**需要权限**:ohos.permission.MANAGE_MISSIONS
281
282**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
283
284**系统接口**:此接口为系统接口。
285
286**参数:**
287
288  | 参数名 | 类型 | 必填 | 说明 |
289  | -------- | -------- | -------- | -------- |
290  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
291  | numMax | number | 是 | 任务信息数量上限。 |
292
293**返回值:**
294
295  | 类型 | 说明 |
296  | -------- | -------- |
297  | Promise<Array<[MissionInfo](js-apis-inner-application-missionInfo-sys.md)>> | Promise对象,返回任务信息数组。 |
298
299**示例:**
300
301  ```ts
302  import missionManager from '@ohos.application.missionManager';
303  import { BusinessError } from '@ohos.base';
304
305  try {
306    missionManager.getMissionInfos('', 10).then((data) => {
307        console.info(`getMissionInfos successfully. Data: ${JSON.stringify(data)}`);
308    }).catch((error: BusinessError) => {
309        console.error(`getMissionInfos failed. Cause: ${error.message}`);
310    });
311} catch (error) {
312    console.error(`getMissionInfos failed. Cause: ${error.message}`);
313}
314  ```
315
316
317## missionManager.getMissionSnapShot
318
319getMissionSnapShot(deviceId: string, missionId: number, callback: AsyncCallback<MissionSnapshot>): void
320
321获取任务快照。使用callback异步回调。
322
323**需要权限**:ohos.permission.MANAGE_MISSIONS
324
325**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
326
327**系统接口**:此接口为系统接口。
328
329**参数:**
330
331  | 参数名 | 类型 | 必填 | 说明 |
332  | -------- | -------- | -------- | -------- |
333  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
334  | missionId | number | 是 | 任务ID。 |
335  | callback | AsyncCallback<[MissionSnapshot](js-apis-inner-application-missionSnapshot-sys.md)> | 是 | 回调函数,返回任务快照信息。 |
336
337**示例:**
338
339  ```ts
340  import missionManager from '@ohos.application.missionManager';
341
342  let testMissionId = 2;
343try {
344    missionManager.getMissionSnapShot('', testMissionId, (err, data) => {
345        if (err) {
346            console.error(`getMissionSnapShot failed: ${err.message}`);
347        } else {
348            console.info(`getMissionSnapShot successfully: ${JSON.stringify(data)}`);
349        }
350    });
351} catch (err) {
352    console.error(`getMissionSnapShot failed: ${err.message}`);
353}
354  ```
355
356
357## missionManager.getMissionSnapShot
358
359getMissionSnapShot(deviceId: string, missionId: number): Promise<MissionSnapshot>
360
361获取任务快照。使用Promise异步回调。
362
363**需要权限**:ohos.permission.MANAGE_MISSIONS
364
365**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
366
367**系统接口**:此接口为系统接口。
368
369**参数:**
370
371  | 参数名 | 类型 | 必填 | 说明 |
372  | -------- | -------- | -------- | -------- |
373  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
374  | missionId | number | 是 | 任务ID。 |
375
376**返回值:**
377
378  | 类型 | 说明 |
379  | -------- | -------- |
380  | Promise<[MissionSnapshot](js-apis-inner-application-missionSnapshot-sys.md)> | Promise对象,返回任务快照信息。 |
381
382**示例:**
383
384  ```ts
385  import missionManager from '@ohos.application.missionManager';
386  import { BusinessError } from '@ohos.base';
387
388  let testMissionId = 2;
389try {
390    missionManager.getMissionSnapShot('', testMissionId).then((data) => {
391        console.info(`getMissionSnapShot successfully. Data: ${JSON.stringify(data)}`);
392    }).catch((error: BusinessError) => {
393        console.error(`getMissionSnapShot failed. Cause: ${error.message}`);
394    });
395} catch (error) {
396    console.error(`getMissionSnapShot failed. Cause: ${error.message}`);
397}
398  ```
399
400## missionManager.lockMission
401
402lockMission(missionId: number, callback: AsyncCallback<void>): void
403
404锁定指定任务id的任务。使用callback异步回调。
405
406**需要权限**:ohos.permission.MANAGE_MISSIONS
407
408**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
409
410**系统接口**:此接口为系统接口。
411
412**参数:**
413
414  | 参数名 | 类型 | 必填 | 说明 |
415  | -------- | -------- | -------- | -------- |
416  | missionId | number | 是 | 任务ID。 |
417  | callback | AsyncCallback<void> | 是 | 回调函数,当锁定指定任务id的任务成功,err为undefined,否则为错误对象。 |
418
419**示例:**
420
421  ```ts
422  import missionManager from '@ohos.application.missionManager';
423
424  let testMissionId = 2;
425try {
426    missionManager.lockMission(testMissionId, (err, data) => {
427        if (err) {
428            console.error(`lockMission failed: ${err.message}`);
429        } else {
430            console.info(`lockMission successfully: ${JSON.stringify(data)}`);
431        }
432    });
433} catch (err) {
434    console.error(`lockMission failed: ${err.message}`);
435}
436  ```
437
438
439## missionManager.lockMission
440
441lockMission(missionId: number): Promise<void>
442
443锁定指定任务id的任务。使用Promise异步回调。
444
445**需要权限**:ohos.permission.MANAGE_MISSIONS
446
447**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
448
449**系统接口**:此接口为系统接口。
450
451**参数:**
452
453  | 参数名 | 类型 | 必填 | 说明 |
454  | -------- | -------- | -------- | -------- |
455  | missionId | number | 是 | 任务ID。 |
456
457**返回值:**
458
459  | 类型 | 说明 |
460  | -------- | -------- |
461  | Promise<void> | Promise对象。无返回结果的Promise对象。 |
462
463**示例:**
464
465  ```ts
466  import missionManager from '@ohos.application.missionManager';
467  import { BusinessError } from '@ohos.base';
468
469  let testMissionId = 2;
470try {
471    missionManager.lockMission(testMissionId).then((data) => {
472        console.info(`lockMission successfully. Data: ${JSON.stringify(data)}`);
473    }).catch((error: BusinessError) => {
474        console.error(`lockMission failed. Cause: ${error.message}`);
475    });
476} catch (error) {
477    console.error(`lockMission failed. Cause: ${error.message}`);
478}
479  ```
480
481
482## missionManager.unlockMission
483
484unlockMission(missionId: number, callback: AsyncCallback<void>): void
485
486解锁指定任务id的任务。使用callback异步回调。
487
488**需要权限**:ohos.permission.MANAGE_MISSIONS
489
490**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
491
492**系统接口**:此接口为系统接口。
493
494**参数:**
495
496| 参数名 | 类型 | 必填 | 说明 |
497| -------- | -------- | -------- | -------- |
498| missionId | number | 是 | 任务ID。 |
499| callback | AsyncCallback<void> | 是 | 回调函数,当解锁指定任务id的任务成功,err为undefined,否则为错误对象。 |
500
501**示例:**
502
503  ```ts
504  import missionManager from '@ohos.application.missionManager';
505
506  let testMissionId = 2;
507try {
508    missionManager.unlockMission(testMissionId, (err, data) => {
509        if (err) {
510            console.error(`unlockMission failed: ${err.message}`);
511        } else {
512            console.info(`unlockMission successfully: ${JSON.stringify(data)}`);
513        }
514    });
515} catch (err) {
516    console.error(`unlockMission failed: ${err.message}`);
517}
518  ```
519
520
521## missionManager.unlockMission
522
523unlockMission(missionId: number): Promise<void>
524
525解锁指定任务id的任务。使用Promise异步回调。
526
527**需要权限**:ohos.permission.MANAGE_MISSIONS
528
529**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
530
531**系统接口**:此接口为系统接口。
532
533**参数:**
534
535  | 参数名 | 类型 | 必填 | 说明 |
536  | -------- | -------- | -------- | -------- |
537  | missionId | number | 是 | 任务ID。 |
538
539**返回值:**
540
541  | 类型 | 说明 |
542  | -------- | -------- |
543  | Promise<void> | Promise对象。无返回结果的Promise对象。 |
544
545**示例:**
546
547  ```ts
548  import missionManager from '@ohos.application.missionManager';
549  import { BusinessError } from '@ohos.base';
550
551  let testMissionId = 2;
552try {
553    missionManager.unlockMission(testMissionId).then((data) => {
554        console.info(`unlockMission successfully. Data: ${JSON.stringify(data)}`);
555    }).catch((error: BusinessError) => {
556        console.error(`unlockMission failed. Cause: ${error.message}`);
557    });
558} catch (error) {
559    console.error(`unlockMission failed. Cause: ${error.message}`);
560}
561  ```
562
563
564## missionManager.clearMission
565
566clearMission(missionId: number, callback: AsyncCallback<void>): void
567
568清理指定任务id的任务,无论该任务是否被锁定。使用callback异步回调。
569
570**需要权限**:ohos.permission.MANAGE_MISSIONS
571
572**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
573
574**系统接口**:此接口为系统接口。
575
576**参数:**
577
578  | 参数名 | 类型 | 必填 | 说明 |
579  | -------- | -------- | -------- | -------- |
580  | missionId | number | 是 | 任务ID。 |
581  | callback | AsyncCallback<void> | 是 | 回调函数,当清理指定任务id的任务成功,err为undefined,否则为错误对象。 |
582
583**示例:**
584
585  ```ts
586  import missionManager from '@ohos.application.missionManager';
587
588  let testMissionId = 2;
589try {
590    missionManager.clearMission(testMissionId, (err, data) => {
591        if (err) {
592            console.error(`clearMission failed: ${err.message}`);
593        } else {
594            console.info(`clearMission successfully: ${JSON.stringify(data)}`);
595        }
596    });
597} catch (err) {
598    console.error(`clearMission failed: ${err.message}`);
599}
600  ```
601
602
603## missionManager.clearMission
604
605clearMission(missionId: number): Promise<void>
606
607清理指定任务id的任务,无论该任务是否被锁定。使用Promise异步回调。
608
609**需要权限**:ohos.permission.MANAGE_MISSIONS
610
611**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
612
613**系统接口**:此接口为系统接口。
614
615**参数:**
616
617  | 参数名 | 类型 | 必填 | 说明 |
618  | -------- | -------- | -------- | -------- |
619  | missionId | number | 是 | 任务ID。 |
620
621**返回值:**
622
623  | 类型 | 说明 |
624  | -------- | -------- |
625  | Promise<void> | Promise对象。无返回结果的Promise对象。 |
626
627**示例:**
628
629  ```ts
630  import missionManager from '@ohos.application.missionManager';
631  import { BusinessError } from '@ohos.base';
632
633  let testMissionId = 2;
634try {
635    missionManager.clearMission(testMissionId).then((data) => {
636        console.info(`clearMission successfully. Data: ${JSON.stringify(data)}`);
637    }).catch((error: BusinessError) => {
638        console.error(`clearMission failed. Cause: ${error.message}`);
639    });
640} catch (error) {
641    console.error(`clearMission failed. Cause: ${error.message}`);
642}
643  ```
644
645
646## missionManager.clearAllMissions
647
648clearAllMissions(callback: AsyncCallback<void>): void
649
650清理所有未锁定的任务,使用callback异步回调。
651
652**需要权限**:ohos.permission.MANAGE_MISSIONS
653
654**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
655
656**系统接口**:此接口为系统接口。
657
658**参数:**
659
660  | 参数名 | 类型 | 必填 | 说明 |
661  | -------- | -------- | -------- | -------- |
662  | callback | AsyncCallback<void> | 是 | 回调函数,当清理所有未锁定的任务成功,err为undefined,否则为错误对象。 |
663
664**示例:**
665
666  ```ts
667  import missionManager from '@ohos.application.missionManager'
668
669  try {
670    missionManager.clearAllMissions(err => {
671        if (err) {
672            console.error('clearAllMissions failed: ${err.message}');
673        } else {
674            console.info('clearAllMissions successfully.');
675        }
676    });
677} catch (err) {
678    console.error('clearAllMissions failed: ${err.message}');
679}
680  ```
681
682
683## missionManager.clearAllMissions
684
685clearAllMissions(): Promise<void>
686
687清理所有未锁定的任务。使用Promise异步回调。
688
689**需要权限**:ohos.permission.MANAGE_MISSIONS
690
691**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
692
693**系统接口**:此接口为系统接口。
694
695**返回值:**
696
697  | 类型 | 说明 |
698  | -------- | -------- |
699  | Promise<void> | Promise对象。无返回结果的Promise对象。 |
700
701**示例:**
702
703  ```ts
704  import missionManager from '@ohos.application.missionManager';
705  import { BusinessError } from '@ohos.base';
706
707  try {
708    missionManager.clearAllMissions().then((data) => {
709        console.info(`clearAllMissions successfully. Data: ${JSON.stringify(data)}`);
710    }).catch((err: BusinessError) => {
711        console.error(`clearAllMissions failed: ${err.message}`);
712    });
713} catch (err) {
714    console.error(`clearAllMissions failed: ${err.message}`);
715}
716  ```
717
718
719## missionManager.moveMissionToFront
720
721moveMissionToFront(missionId: number, callback: AsyncCallback<void>): void
722
723把指定任务id的任务切到前台。使用callback异步回调。
724
725**需要权限**:ohos.permission.MANAGE_MISSIONS
726
727**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
728
729**系统接口**:此接口为系统接口。
730
731**参数:**
732
733  | 参数名 | 类型 | 必填 | 说明 |
734  | -------- | -------- | -------- | -------- |
735  | missionId | number | 是 | 任务ID。 |
736  | callback | AsyncCallback<void> | 是 | 回调函数,当把指定任务id的任务切到前台成功,err为undefined,否则为错误对象。 |
737
738**示例:**
739
740  ```ts
741  import missionManager from '@ohos.application.missionManager';
742
743  let testMissionId = 2;
744try {
745    missionManager.moveMissionToFront(testMissionId, (err, data) => {
746        if (err) {
747            console.error(`moveMissionToFront failed: ${err.message}`);
748        } else {
749            console.info(`moveMissionToFront successfully: ${JSON.stringify(data)}`);
750        }
751    });
752} catch (err) {
753    console.error(`moveMissionToFront failed: ${err.message}`);
754}
755  ```
756
757
758## missionManager.moveMissionToFront
759
760moveMissionToFront(missionId: number, options: StartOptions, callback: AsyncCallback<void>): void
761
762把指定任务id的任务切到前台,同时指定任务切换到前台时的启动参数,例如窗口模式、设备ID等。使用callback异步回调。
763
764**需要权限**:ohos.permission.MANAGE_MISSIONS
765
766**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
767
768**系统接口**:此接口为系统接口。
769
770**参数:**
771
772  | 参数名 | 类型 | 必填 | 说明 |
773  | -------- | -------- | -------- | -------- |
774  | missionId | number | 是 | 任务ID。 |
775  | options | [StartOptions](js-apis-app-ability-startOptions.md) | 是 | 启动参数选项,用于指定任务切到前台时的窗口模式,设备ID等。 |
776  | callback | AsyncCallback<void> | 是 | 回调函数,当把指定任务id的任务切到前台成功,err为undefined,否则为错误对象。 |
777
778**示例:**
779
780  ```ts
781  import missionManager from '@ohos.application.missionManager';
782
783  let testMissionId = 2;
784try {
785    missionManager.moveMissionToFront(testMissionId, {windowMode : 101}, (err, data) => {
786        if (err) {
787            console.error(`moveMissionToFront failed: ${err.message}`);
788        } else {
789            console.info(`moveMissionToFront successfully: ${JSON.stringify(data)}`);
790        }
791    });
792} catch (err) {
793    console.error(`moveMissionToFront failed: ${err.message}`);
794}
795  ```
796
797
798## missionManager.moveMissionToFront
799
800moveMissionToFront(missionId: number, options?: StartOptions): Promise<void>
801
802把指定任务id的任务切到前台,同时指定任务切换到前台时的启动参数,例如窗口模式、设备ID等。使用Promise异步回调。
803
804**需要权限**:ohos.permission.MANAGE_MISSIONS
805
806**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
807
808**系统接口**:此接口为系统接口。
809
810**参数:**
811
812  | 参数名 | 类型 | 必填 | 说明 |
813  | -------- | -------- | -------- | -------- |
814  | missionId | number | 是 | 任务ID。 |
815  | options | [StartOptions](js-apis-app-ability-startOptions.md) | 否 | 启动参数选项,用于指定任务切到前台时的窗口模式,设备ID等。 |
816
817**返回值:**
818
819  | 类型 | 说明 |
820  | -------- | -------- |
821  | Promise<void> | Promise对象。无返回结果的Promise对象。 |
822
823**示例:**
824
825  ```ts
826  import missionManager from '@ohos.application.missionManager';
827  import { BusinessError } from '@ohos.base';
828
829  let testMissionId = 2;
830try {
831    missionManager.moveMissionToFront(testMissionId).then((data) => {
832        console.info(`moveMissionToFront successfully. Data: ${JSON.stringify(data)}`);
833    }).catch((error: BusinessError) => {
834        console.error(`moveMissionToFront failed. Cause: ${error.message}`);
835    });
836} catch (error) {
837    console.error(`moveMissionToFront failed. Cause: ${error.message}`);
838}
839  ```