• 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';
48
49let listener = {
50    onMissionCreated: function (mission) {console.log('--------onMissionCreated-------');},
51    onMissionDestroyed: function (mission) {console.log('--------onMissionDestroyed-------');},
52    onMissionSnapshotChanged: function (mission) {console.log('--------onMissionSnapshotChanged-------');},
53    onMissionMovedToFront: function (mission) {console.log('--------onMissionMovedToFront-------');},
54    onMissionIconUpdated: function (mission, icon) {console.log('--------onMissionIconUpdated-------');},
55    onMissionClosed: function (mission) {console.log('--------onMissionClosed-------');},
56    onMissionLabelUpdated: function (mission) {console.log('--------onMissionLabelUpdated-------');}
57};
58
59let listenerId = -1;
60
61export default class EntryAbility extends UIAbility {
62    onCreate(want, launchParam) {
63        console.log('[Demo] EntryAbility onCreate');
64        globalThis.abilityWant = want;
65        globalThis.context = this.context;
66    }
67
68    onDestroy() {
69        try {
70            if (listenerId !== -1) {
71                missionManager.off('mission', listenerId).catch(function (err) {
72                    console.log(err);
73                });
74            }
75        } catch (paramError) {
76            console.error('error: ${paramError.code}, ${paramError.message}');
77        }
78        console.log('[Demo] EntryAbility onDestroy');
79    }
80
81    onWindowStageCreate(windowStage) {
82        // Main window is created, set main page for this ability
83        console.log('[Demo] EntryAbility onWindowStageCreate');
84        try {
85            listenerId = missionManager.on('mission', listener);
86        } catch (paramError) {
87            console.error('error: ${paramError.code}, ${paramError.message}');
88        }
89
90        windowStage.loadContent('pages/index', (err, data) => {
91            if (err.code) {
92                console.error('Failed to load the content. Cause: ${JSON.stringify(err)}');
93                return;
94            }
95            console.info('Succeeded in loading the content. Data: ${JSON.stringify(data)}');
96        });
97
98        if (globalThis.flag) {
99            return;
100        }
101    }
102};
103```
104
105
106## missionManager.off
107
108off(type: 'mission', listenerId: number, callback: AsyncCallback<void>): void;
109
110取消任务状态监听。
111
112**需要权限**:ohos.permission.MANAGE_MISSIONS
113
114**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
115
116**系统API**: 此接口为系统接口,三方应用不支持调用。
117
118**参数:**
119
120  | 参数名 | 类型 | 必填 | 说明 |
121  | -------- | -------- | -------- | -------- |
122  | listenerId | number | 是 | 系统任务状态监听方法的index值,和监听方法一一对应,由registerMissionListener方法返回。 |
123  | callback | AsyncCallback<void> | 是 | 执行结果回调函数。 |
124
125**示例:**
126
127```ts
128import missionManager from '@ohos.app.ability.missionManager';
129import UIAbility from '@ohos.app.ability.UIAbility';
130
131let listener = {
132    onMissionCreated: function (mission) {console.log('--------onMissionCreated-------');},
133    onMissionDestroyed: function (mission) {console.log('--------onMissionDestroyed-------');},
134    onMissionSnapshotChanged: function (mission) {console.log('--------onMissionSnapshotChanged-------');},
135    onMissionMovedToFront: function (mission) {console.log('--------onMissionMovedToFront-------');},
136    onMissionIconUpdated: function (mission, icon) {console.log('--------onMissionIconUpdated-------');},
137    onMissionClosed: function (mission) {console.log('--------onMissionClosed-------');},
138    onMissionLabelUpdated: function (mission) {console.log('--------onMissionLabelUpdated-------');}
139};
140
141let listenerId = -1;
142
143export default class EntryAbility extends UIAbility {
144    onCreate(want, launchParam) {
145        console.log('[Demo] EntryAbility onCreate');
146        globalThis.abilityWant = want;
147        globalThis.context = this.context;
148    }
149
150    onDestroy() {
151        try {
152            if (listenerId !== -1) {
153                missionManager.off('mission', listenerId, (err) => {
154                    console.log(err);
155                });
156            }
157        } catch (paramError) {
158            console.error('error: ${paramError.code}, ${paramError.message}');
159        }
160        console.log('[Demo] EntryAbility onDestroy');
161    }
162
163    onWindowStageCreate(windowStage) {
164        // Main window is created, set main page for this ability
165        console.log('[Demo] EntryAbility onWindowStageCreate');
166        try {
167            listenerId = missionManager.on('mission', listener);
168        } catch (paramError) {
169            console.error('error: ${paramError.code}, ${paramError.message}');
170        }
171
172        windowStage.loadContent('pages/index', (err, data) => {
173            if (err.code) {
174                console.error('Failed to load the content. Cause: ${JSON.stringify(err)}');
175                return;
176            }
177            console.info('Succeeded in loading the content. Data: ${JSON.stringify(data)}');
178        });
179
180        if (globalThis.flag) {
181            return;
182        }
183    }
184};
185```
186
187
188## missionManager.off
189
190off(type: 'mission', listenerId: number): Promise<void>;
191
192取消任务状态监听,以promise方式返回执行结果。
193
194**需要权限**:ohos.permission.MANAGE_MISSIONS
195
196**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
197
198**系统API**: 此接口为系统接口,三方应用不支持调用。
199
200**参数:**
201
202  | 参数名 | 类型 | 必填 | 说明 |
203  | -------- | -------- | -------- | -------- |
204  | listenerId | number | 是 | 系统任务状态监听方法的index值,和监听方法一一对应,由registerMissionListener方法返回。 |
205
206**返回值:**
207
208  | 类型 | 说明 |
209  | -------- | -------- |
210  | Promise<void> | promise方式返回执行结果。 |
211
212**示例:**
213
214```ts
215import missionManager from '@ohos.app.ability.missionManager';
216import UIAbility from '@ohos.app.ability.UIAbility';
217
218let listener = {
219    onMissionCreated: function (mission) {console.log('--------onMissionCreated-------');},
220    onMissionDestroyed: function (mission) {console.log('--------onMissionDestroyed-------');},
221    onMissionSnapshotChanged: function (mission) {console.log('--------onMissionSnapshotChanged-------');},
222    onMissionMovedToFront: function (mission) {console.log('--------onMissionMovedToFront-------');},
223    onMissionIconUpdated: function (mission, icon) {console.log('--------onMissionIconUpdated-------');},
224    onMissionClosed: function (mission) {console.log('--------onMissionClosed-------');},
225    onMissionLabelUpdated: function (mission) {console.log('--------onMissionLabelUpdated-------');}
226};
227
228let listenerId = -1;
229
230export default class EntryAbility extends UIAbility {
231    onCreate(want, launchParam) {
232        console.log('[Demo] EntryAbility onCreate');
233        globalThis.abilityWant = want;
234        globalThis.context = this.context;
235    }
236
237    onDestroy() {
238        try {
239            if (listenerId !== -1) {
240                missionManager.off('mission', listenerId).catch(function (err) {
241                    console.log(err);
242                });
243            }
244        } catch (paramError) {
245            console.error('error: ${paramError.code}, ${paramError.message}');
246        }
247        console.log('[Demo] EntryAbility onDestroy');
248    }
249
250    onWindowStageCreate(windowStage) {
251        // Main window is created, set main page for this ability
252        console.log('[Demo] EntryAbility onWindowStageCreate');
253        try {
254            listenerId = missionManager.on('mission', listener);
255        } catch (paramError) {
256            console.error('error: ${paramError.code}, ${paramError.message}');
257        }
258
259        windowStage.loadContent('pages/index', (err, data) => {
260            if (err.code) {
261                console.error('Failed to load the content. Cause: ${JSON.stringify(err)}');
262                return;
263            }
264            console.info('Succeeded in loading the content. Data: ${JSON.stringify(data)}');
265        });
266
267        if (globalThis.flag) {
268            return;
269        }
270    }
271};
272```
273
274
275## missionManager.getMissionInfo
276
277getMissionInfo(deviceId: string, missionId: number, callback: AsyncCallback<MissionInfo>): void;
278
279获取任务信息,以异步回调的方式返回任务信息。
280
281**需要权限**:ohos.permission.MANAGE_MISSIONS
282
283**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
284
285**系统API**: 此接口为系统接口,三方应用不支持调用。
286
287**参数:**
288
289  | 参数名 | 类型 | 必填 | 说明 |
290  | -------- | -------- | -------- | -------- |
291  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
292  | missionId | number | 是 | 任务ID。 |
293  | callback | AsyncCallback<[MissionInfo](./js-apis-inner-application-missionInfo.md)> | 是 | 执行结果回调函数,返回任务信息。 |
294
295**示例:**
296
297  ```ts
298  import missionManager from '@ohos.app.ability.missionManager';
299
300  try {
301    let allMissions=missionManager.getMissionInfos('',10).catch(function(err){console.log(err);});
302      missionManager.getMissionInfo('', allMissions[0].missionId, (error, mission) => {
303        console.log('getMissionInfo is called, error.code = ' + error.code);
304        console.log('mission.missionId = ' + mission.missionId);
305        console.log('mission.runningState = ' + mission.runningState);
306        console.log('mission.lockedState = ' + mission.lockedState);
307        console.log('mission.timestamp = ' + mission.timestamp);
308        console.log('mission.label = ' + mission.label);
309        console.log('mission.iconPath = ' + mission.iconPath);
310      });
311  } catch (paramError) {
312    console.log('error: ' + paramError.code + ', ' + paramError.message);
313  }
314  ```
315
316
317## missionManager.getMissionInfo
318
319getMissionInfo(deviceId: string, missionId: number): Promise<MissionInfo>;
320
321获取任务信息,以promise方式返回任务信息。
322
323**需要权限**:ohos.permission.MANAGE_MISSIONS
324
325**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
326
327**系统API**: 此接口为系统接口,三方应用不支持调用。
328
329**参数:**
330
331  | 参数名 | 类型 | 必填 | 说明 |
332  | -------- | -------- | -------- | -------- |
333  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
334  | missionId | number | 是 | 任务ID。 |
335
336**返回值:**
337
338  | 类型 | 说明 |
339  | -------- | -------- |
340  | Promise<[MissionInfo](./js-apis-inner-application-missionInfo.md)> | 任务信息。 |
341
342**示例:**
343
344  ```ts
345  import missionManager from '@ohos.app.ability.missionManager';
346
347  try {
348    let mission = missionManager.getMissionInfo('', 10).catch(function (err){
349      console.log(err);
350    });
351  } catch (paramError) {
352    console.log('error: ' + paramError.code + ', ' + paramError.message);
353  }
354  ```
355
356
357## missionManager.getMissionInfos
358
359getMissionInfos(deviceId: string, numMax: number, callback: AsyncCallback<Array<MissionInfo>>): void;
360
361获取所有任务信息,以回调函数的方式返回任务信息数组。
362
363**需要权限**:ohos.permission.MANAGE_MISSIONS
364
365**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
366
367**系统API**: 此接口为系统接口,三方应用不支持调用。
368
369**参数:**
370
371  | 参数名 | 类型 | 必填 | 说明 |
372  | -------- | -------- | -------- | -------- |
373  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
374  | numMax | number | 是 | 任务信息数量上限。 |
375  | callback | AsyncCallback<Array<[MissionInfo](./js-apis-inner-application-missionInfo.md)>> | 是 | 执行结果回调函数,返回任务信息数组。 |
376
377**示例:**
378
379  ```ts
380  import missionManager from '@ohos.app.ability.missionManager';
381
382  try {
383    missionManager.getMissionInfos('', 10, (error, missions) => {
384      console.log('getMissionInfos is called, error.code = ' + error.code);
385      console.log('size = ' + missions.length);
386      console.log('missions = ' + JSON.stringify(missions));
387    });
388  } catch (paramError) {
389    console.log('error: ' + paramError.code + ', ' + paramError.message);
390  }
391  ```
392
393
394## missionManager.getMissionInfos
395
396getMissionInfos(deviceId: string, numMax: number): Promise<Array<MissionInfo>>;
397
398获取所有任务信息,以promise的方式返回任务信息数组。
399
400**需要权限**:ohos.permission.MANAGE_MISSIONS
401
402**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
403
404**系统API**: 此接口为系统接口,三方应用不支持调用。
405
406**参数:**
407
408  | 参数名 | 类型 | 必填 | 说明 |
409  | -------- | -------- | -------- | -------- |
410  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
411  | numMax | number | 是 | 任务信息数量上限。 |
412
413**返回值:**
414
415  | 类型 | 说明 |
416  | -------- | -------- |
417  | Promise<Array<[MissionInfo](./js-apis-inner-application-missionInfo.md)>> | 任务信息数组。 |
418
419**示例:**
420
421  ```ts
422  import missionManager from '@ohos.app.ability.missionManager';
423
424  try {
425    let allMissions = missionManager.getMissionInfos('', 10).catch(function (err){
426      console.log(err);
427    });
428  } catch (paramError) {
429    console.log('error: ' + paramError.code + ', ' + paramError.message);
430  }
431  ```
432
433
434## missionManager.getMissionSnapShot
435
436getMissionSnapShot(deviceId: string, missionId: number, callback: AsyncCallback<MissionSnapshot>): void;
437
438获取任务快照,以回调函数的方式返回快照内容。
439
440**需要权限**:ohos.permission.MANAGE_MISSIONS
441
442**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
443
444**系统API**: 此接口为系统接口,三方应用不支持调用。
445
446**参数:**
447
448  | 参数名 | 类型 | 必填 | 说明 |
449  | -------- | -------- | -------- | -------- |
450  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
451  | missionId | number | 是 | 任务ID。 |
452  | callback | AsyncCallback<[MissionSnapshot](js-apis-inner-application-missionSnapshot.md)> | 是 | 执行结果回调函数,返回任务快照信息。 |
453
454**示例:**
455
456  ```ts
457  import missionManager from '@ohos.app.ability.missionManager';
458
459  try {
460    missionManager.getMissionInfos('', 10, (error, missions) => {
461      console.log('getMissionInfos is called, error.code = ' + error.code);
462      console.log('size = ' + missions.length);
463      console.log('missions = ' + JSON.stringify(missions));
464      let id = missions[0].missionId;
465
466      missionManager.getMissionSnapShot('', id, (error, snapshot) => {
467  	    console.log('getMissionSnapShot is called, error.code = ' + error.code);
468  	    console.log('bundleName = ' + snapshot.ability.bundleName);
469      });
470    });
471  } catch (paramError) {
472    console.log('error: ' + paramError.code + ', ' + paramError.message);
473  }
474  ```
475
476
477## missionManager.getMissionSnapShot
478
479getMissionSnapShot(deviceId: string, missionId: number): Promise<MissionSnapshot>;
480
481获取任务快照,以promise的方式返回快照内容。
482
483**需要权限**:ohos.permission.MANAGE_MISSIONS
484
485**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
486
487**系统API**: 此接口为系统接口,三方应用不支持调用。
488
489**参数:**
490
491  | 参数名 | 类型 | 必填 | 说明 |
492  | -------- | -------- | -------- | -------- |
493  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
494  | missionId | number | 是 | 任务ID。 |
495
496**返回值:**
497
498  | 类型 | 说明 |
499  | -------- | -------- |
500  | Promise<[MissionSnapshot](js-apis-inner-application-missionSnapshot.md)> | 任务快照信息。 |
501
502**示例:**
503
504  ```ts
505  import missionManager from '@ohos.app.ability.missionManager';
506
507  try {
508    let allMissions;
509    missionManager.getMissionInfos('',10).then(function(res){
510      allMissions=res;
511      }).catch(function(err){console.log(err);});
512      console.log('size = ' + allMissions.length);
513      console.log('missions = ' + JSON.stringify(allMissions));
514      let id = allMissions[0].missionId;
515
516      let snapshot = missionManager.getMissionSnapShot('', id).catch(function (err){
517        console.log(err);
518      });
519  } catch (paramError) {
520    console.log('error: ' + paramError.code + ', ' + paramError.message);
521  }
522  ```
523
524## missionManager.getLowResolutionMissionSnapShot
525
526getLowResolutionMissionSnapShot(deviceId: string, missionId: number, callback: AsyncCallback\<MissionSnapshot>): void;
527
528使用给定的任务ID获取任务低分辨率快照。
529
530**需要权限**:ohos.permission.MANAGE_MISSIONS
531
532**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
533
534**系统API**: 此接口为系统接口,三方应用不支持调用。
535
536**参数:**
537
538  | 参数名 | 类型 | 必填 | 说明 |
539  | -------- | -------- | -------- | -------- |
540  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
541  | missionId | number | 是 | 任务ID。 |
542  | callback | AsyncCallback&lt;[MissionSnapshot](js-apis-inner-application-missionSnapshot.md)&gt; | 是 | 执行结果回调函数,返回任务快照信息。 |
543
544**示例:**
545
546  ```ts
547  import missionManager from '@ohos.app.ability.missionManager';
548
549  try {
550    missionManager.getMissionInfos('', 10, (error, missions) => {
551      console.log('getMissionInfos is called, error.code = ' + error.code);
552      console.log('size = ' + missions.length);
553      console.log('missions = ' + JSON.stringify(missions));
554      let id = missions[0].missionId;
555
556      missionManager.getLowResolutionMissionSnapShot('', id, (error, snapshot) => {
557  	    console.log('getLowResolutionMissionSnapShot is called, error.code = ' + error.code);
558  	    console.log('bundleName = ' + snapshot.ability.bundleName);
559      });
560    });
561  } catch (paramError) {
562    console.log('error: ' + paramError.code + ', ' + paramError.message);
563  }
564  ```
565
566
567## missionManager.getLowResolutionMissionSnapShot
568
569getLowResolutionMissionSnapShot(deviceId: string, missionId: number): Promise\<MissionSnapshot>;
570
571使用给定的任务ID获取任务低分辨率快照。
572
573**需要权限**:ohos.permission.MANAGE_MISSIONS
574
575**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
576
577**系统API**: 此接口为系统接口,三方应用不支持调用。
578
579**参数:**
580
581  | 参数名 | 类型 | 必填 | 说明 |
582  | -------- | -------- | -------- | -------- |
583  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
584  | missionId | number | 是 | 任务ID。 |
585
586**返回值:**
587
588  | 类型 | 说明 |
589  | -------- | -------- |
590  | Promise&lt;[MissionSnapshot](js-apis-inner-application-missionSnapshot.md)&gt; | 任务快照信息。 |
591
592**示例:**
593
594  ```ts
595  import missionManager from '@ohos.app.ability.missionManager';
596
597  try {
598    let allMissions;
599    missionManager.getMissionInfos('',10).then(function(res){
600      allMissions=res;
601      }).catch(function(err){console.log(err);});
602      console.log('size = ' + allMissions.length);
603      console.log('missions = ' + JSON.stringify(allMissions));
604      let id = allMissions[0].missionId;
605
606      let snapshot = missionManager.getLowResolutionMissionSnapShot('', id).catch(function (err){
607        console.log(err);
608      });
609  } catch (paramError) {
610    console.log('error: ' + paramError.code + ', ' + paramError.message);
611  }
612  ```
613
614
615## missionManager.lockMission
616
617lockMission(missionId: number, callback: AsyncCallback&lt;void&gt;): void;
618
619锁定指定任务id的任务,以回调函数的方式返回。
620
621**需要权限**:ohos.permission.MANAGE_MISSIONS
622
623**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
624
625**系统API**: 此接口为系统接口,三方应用不支持调用。
626
627**参数:**
628
629  | 参数名 | 类型 | 必填 | 说明 |
630  | -------- | -------- | -------- | -------- |
631  | missionId | number | 是 | 任务ID。 |
632  | callback | AsyncCallback&lt;void&gt; | 是 | 执行结果回调函数。 |
633
634**示例:**
635
636  ```ts
637  import missionManager from '@ohos.app.ability.missionManager';
638
639  try {
640    missionManager.getMissionInfos('', 10, (error, missions) => {
641      console.log('getMissionInfos is called, error.code = ' + error.code);
642      console.log('size = ' + missions.length);
643      console.log('missions = ' + JSON.stringify(missions));
644      let id = missions[0].missionId;
645
646      missionManager.lockMission(id).then(() => {
647  	    console.log('lockMission is called ');
648      });
649    });
650  } catch (paramError) {
651    console.log('error: ' + paramError.code + ', ' + paramError.message);
652  }
653  ```
654
655
656## missionManager.lockMission
657
658lockMission(missionId: number): Promise&lt;void&gt;;
659
660锁定指定任务id的任务,以promise方式返回。
661
662**需要权限**:ohos.permission.MANAGE_MISSIONS
663
664**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
665
666**系统API**: 此接口为系统接口,三方应用不支持调用。
667
668**参数:**
669
670  | 参数名 | 类型 | 必填 | 说明 |
671  | -------- | -------- | -------- | -------- |
672  | missionId | number | 是 | 任务ID。 |
673
674**返回值:**
675
676  | 类型 | 说明 |
677  | -------- | -------- |
678  | Promise&lt;void&gt; | promise方式返回执行结果。 |
679
680**示例:**
681
682  ```ts
683  import missionManager from '@ohos.app.ability.missionManager';
684
685  try {
686    let allMissions;
687    missionManager.getMissionInfos('',10).then(function(res){
688      allMissions=res;
689    }).catch(function(err){console.log(err);});
690    console.log('size = ' + allMissions.length);
691    console.log('missions = ' + JSON.stringify(allMissions));
692    let id = allMissions[0].missionId;
693
694    missionManager.lockMission(id).catch(function (err){
695      console.log(err);
696    });
697  } catch (paramError) {
698    console.log('error: ' + paramError.code + ', ' + paramError.message);
699  }
700  ```
701
702
703## missionManager.unlockMission
704
705unlockMission(missionId: number, callback: AsyncCallback&lt;void&gt;): void;
706
707解锁指定任务id的任务,以回调函数的方式返回。
708
709**需要权限**:ohos.permission.MANAGE_MISSIONS
710
711**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
712
713**系统API**: 此接口为系统接口,三方应用不支持调用。
714
715**参数:**
716
717| 参数名 | 类型 | 必填 | 说明 |
718| -------- | -------- | -------- | -------- |
719| missionId | number | 是 | 任务ID。 |
720| callback | AsyncCallback&lt;void&gt; | 是 | 执行结果回调函数。 |
721
722**示例:**
723
724  ```ts
725  import missionManager from '@ohos.app.ability.missionManager';
726
727  try {
728    missionManager.getMissionInfos('', 10, (error, missions) => {
729      console.log('getMissionInfos is called, error.code = ' + error.code);
730      console.log('size = ' + missions.length);
731      console.log('missions = ' + JSON.stringify(missions));
732      let id = missions[0].missionId;
733
734      missionManager.unlockMission(id).then(() => {
735  	    console.log('unlockMission is called ');
736      });
737    });
738  } catch (paramError) {
739    console.log('error: ' + paramError.code + ', ' + paramError.message);
740  }
741  ```
742
743
744## missionManager.unlockMission
745
746unlockMission(missionId: number): Promise&lt;void&gt;;
747
748解锁指定任务id的任务,以promise的方式返回。
749
750**需要权限**:ohos.permission.MANAGE_MISSIONS
751
752**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
753
754**系统API**: 此接口为系统接口,三方应用不支持调用。
755
756**参数:**
757
758  | 参数名 | 类型 | 必填 | 说明 |
759  | -------- | -------- | -------- | -------- |
760  | missionId | number | 是 | 任务ID。 |
761
762**返回值:**
763
764  | 类型 | 说明 |
765  | -------- | -------- |
766  | Promise&lt;void&gt; | promise方式返回执行结果。 |
767
768**示例:**
769
770  ```ts
771  import missionManager from '@ohos.app.ability.missionManager';
772
773  try {
774    let allMissions;
775    missionManager.getMissionInfos('',10).then(function(res){
776      allMissions=res;
777    }).catch(function(err){console.log(err);});
778    console.log('size = ' + allMissions.length);
779    console.log('missions = ' + JSON.stringify(allMissions));
780    let id = allMissions[0].missionId;
781
782    missionManager.lockMission(id).catch(function (err){
783      console.log(err);
784    });
785    missionManager.unlockMission(id).catch(function (err){
786      console.log(err);
787    });
788  } catch (paramError) {
789    console.log('error: ' + paramError.code + ', ' + paramError.message);
790  }
791  ```
792
793
794## missionManager.clearMission
795
796clearMission(missionId: number, callback: AsyncCallback&lt;void&gt;): void;
797
798清理指定任务id的任务,无论该任务是否被锁定,以回调函数的方式返回。
799
800**需要权限**:ohos.permission.MANAGE_MISSIONS
801
802**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
803
804**系统API**: 此接口为系统接口,三方应用不支持调用。
805
806**参数:**
807
808  | 参数名 | 类型 | 必填 | 说明 |
809  | -------- | -------- | -------- | -------- |
810  | missionId | number | 是 | 任务ID。 |
811  | callback | AsyncCallback&lt;void&gt; | 是 | 执行结果回调函数。 |
812
813**示例:**
814
815  ```ts
816  import missionManager from '@ohos.app.ability.missionManager';
817
818  try {
819    missionManager.getMissionInfos('', 10, (error, missions) => {
820      console.log('getMissionInfos is called, error.code = ' + error.code);
821      console.log('size = ' + missions.length);
822      console.log('missions = ' + JSON.stringify(missions));
823      let id = missions[0].missionId;
824
825      missionManager.clearMission(id).then(() => {
826  	    console.log('clearMission is called ');
827      });
828    });
829  } catch (paramError) {
830    console.log('error: ' + paramError.code + ', ' + paramError.message);
831  }
832  ```
833
834
835## missionManager.clearMission
836
837clearMission(missionId: number): Promise&lt;void&gt;;
838
839清理指定任务id的任务,无论该任务是否被锁定,以promise的方式返回。
840
841**需要权限**:ohos.permission.MANAGE_MISSIONS
842
843**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
844
845**系统API**: 此接口为系统接口,三方应用不支持调用。
846
847**参数:**
848
849  | 参数名 | 类型 | 必填 | 说明 |
850  | -------- | -------- | -------- | -------- |
851  | missionId | number | 是 | 任务ID。 |
852
853**返回值:**
854
855  | 类型 | 说明 |
856  | -------- | -------- |
857  | Promise&lt;void&gt; | promise方式返回执行结果。 |
858
859**示例:**
860
861  ```ts
862  import missionManager from '@ohos.app.ability.missionManager';
863
864  try {
865    let allMissions;
866    missionManager.getMissionInfos('',10).then(function(res){
867      allMissions=res;
868    }).catch(function(err){console.log(err);});
869    console.log('size = ' + allMissions.length);
870    console.log('missions = ' + JSON.stringify(allMissions));
871    let id = allMissions[0].missionId;
872
873    missionManager.clearMission(id).catch(function (err){
874      console.log(err);
875    });
876  } catch (paramError) {
877    console.log('error: ' + paramError.code + ', ' + paramError.message);
878  }
879  ```
880
881
882## missionManager.clearAllMissions
883
884clearAllMissions(callback: AsyncCallback&lt;void&gt;): void;
885
886清理所有未锁定的任务,以回调函数的方式返回。
887
888**需要权限**:ohos.permission.MANAGE_MISSIONS
889
890**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
891
892**系统API**: 此接口为系统接口,三方应用不支持调用。
893
894**示例:**
895
896  ```ts
897  import missionManager from '@ohos.app.ability.missionManager';
898
899  missionManager.clearAllMissions().then(() => {
900    console.log('clearAllMissions is called ');
901  });
902  ```
903
904
905## missionManager.clearAllMissions
906
907clearAllMissions(): Promise&lt;void&gt;;
908
909清理所有未锁定的任务,以promise的方式返回。
910
911**需要权限**:ohos.permission.MANAGE_MISSIONS
912
913**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
914
915**系统API**: 此接口为系统接口,三方应用不支持调用。
916
917**返回值:**
918
919  | 类型 | 说明 |
920  | -------- | -------- |
921  | Promise&lt;void&gt; | promise方式返回执行结果。 |
922
923**示例:**
924
925  ```ts
926  import missionManager from '@ohos.app.ability.missionManager';
927  missionManager.clearAllMissions().catch(function (err){
928    console.log(err);
929  });
930  ```
931
932
933## missionManager.moveMissionToFront
934
935moveMissionToFront(missionId: number, callback: AsyncCallback&lt;void&gt;): void;
936
937把指定任务id的任务切到前台,以回调函数的方式返回。
938
939**需要权限**:ohos.permission.MANAGE_MISSIONS
940
941**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
942
943**系统API**: 此接口为系统接口,三方应用不支持调用。
944
945**参数:**
946
947  | 参数名 | 类型 | 必填 | 说明 |
948  | -------- | -------- | -------- | -------- |
949  | missionId | number | 是 | 任务ID。 |
950  | callback | AsyncCallback&lt;void&gt; | 是 | 执行结果回调函数。 |
951
952**示例:**
953
954  ```ts
955  import missionManager from '@ohos.app.ability.missionManager';
956
957  try {
958    missionManager.getMissionInfos('', 10, (error, missions) => {
959      console.log('getMissionInfos is called, error.code = ' + error.code);
960      console.log('size = ' + missions.length);
961      console.log('missions = ' + JSON.stringify(missions));
962      let id = missions[0].missionId;
963
964      missionManager.moveMissionToFront(id).then(() => {
965  	    console.log('moveMissionToFront is called ');
966      });
967    });
968  } catch (paramError) {
969    console.log('error: ' + paramError.code + ', ' + paramError.message);
970  }
971  ```
972
973
974## missionManager.moveMissionToFront
975
976moveMissionToFront(missionId: number, options: StartOptions, callback: AsyncCallback&lt;void&gt;): void;
977
978把指定任务id的任务切到前台,同时指定任务切换到前台时的启动参数,例如窗口模式、设备ID等,以回调函数的方式返回。
979
980**需要权限**:ohos.permission.MANAGE_MISSIONS
981
982**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
983
984**系统API**: 此接口为系统接口,三方应用不支持调用。
985
986**参数:**
987
988  | 参数名 | 类型 | 必填 | 说明 |
989  | -------- | -------- | -------- | -------- |
990  | missionId | number | 是 | 任务ID。 |
991  | options | [StartOptions](js-apis-app-ability-startOptions.md) | 是 | 启动参数选项,用于指定任务切到前台时的窗口模式,设备ID等。 |
992  | callback | AsyncCallback&lt;void&gt; | 是 | 执行结果回调函数。 |
993
994**示例:**
995
996  ```ts
997  import missionManager from '@ohos.app.ability.missionManager';
998
999  try {
1000    missionManager.getMissionInfos('', 10, (error, missions) => {
1001      console.log('getMissionInfos is called, error.code = ' + error.code);
1002      console.log('size = ' + missions.length);
1003      console.log('missions = ' + JSON.stringify(missions));
1004      let id = missions[0].missionId;
1005
1006      missionManager.moveMissionToFront(id,{windowMode : 101}).then(() => {
1007  	    console.log('moveMissionToFront is called ');
1008      });
1009    });
1010  } catch (paramError) {
1011    console.log('error: ' + paramError.code + ', ' + paramError.message);
1012  }
1013  ```
1014
1015
1016## missionManager.moveMissionToFront
1017
1018moveMissionToFront(missionId: number, options?: StartOptions): Promise&lt;void&gt;;
1019
1020把指定任务id的任务切到前台,同时指定任务切换到前台时的启动参数,例如窗口模式、设备ID等,以promise的方式返回。
1021
1022**需要权限**:ohos.permission.MANAGE_MISSIONS
1023
1024**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
1025
1026**系统API**: 此接口为系统接口,三方应用不支持调用。
1027
1028**参数:**
1029
1030  | 参数名 | 类型 | 必填 | 说明 |
1031  | -------- | -------- | -------- | -------- |
1032  | missionId | number | 是 | 任务ID。 |
1033  | options | [StartOptions](js-apis-app-ability-startOptions.md) | 否 | 启动参数选项,用于指定任务切到前台时的窗口模式,设备ID等。 |
1034
1035**返回值:**
1036
1037  | 类型 | 说明 |
1038  | -------- | -------- |
1039  | Promise&lt;void&gt; | promise方式返回执行结果。 |
1040
1041**示例:**
1042
1043  ```ts
1044  import missionManager from '@ohos.app.ability.missionManager';
1045
1046  try {
1047    let allMissions;
1048    missionManager.getMissionInfos('',10).then(function(res){
1049      allMissions=res;
1050    }).catch(function(err){console.log(err);});
1051    console.log('size = ' + allMissions.length);
1052    console.log('missions = ' + JSON.stringify(allMissions));
1053    let id = allMissions[0].missionId;
1054
1055    missionManager.moveMissionToFront(id).catch(function (err){
1056      console.log(err);
1057    });
1058  } catch (paramError) {
1059    console.log('error: ' + paramError.code + ', ' + paramError.message);
1060  }
1061  ```
1062