• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# missionManager
2
3
4> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
5> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
6
7
8missionManager模块提供系统任务管理能力,开发者可以对系统任务执行锁定、解锁、清理、切换到前台等操作。
9
10
11## 导入模块
12
13
14```
15import missionManager from '@ohos.application.missionManager'
16```
17
18
19## missionManager.registerMissionListener
20
21registerMissionListener(listener: MissionListener): number;
22
23注册系统任务状态监听。
24
25**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
26
27**参数:**
28
29  | 参数名 | 类型 | 必填 | 说明 |
30  | -------- | -------- | -------- | -------- |
31  | listener | MissionListener | 是 | 系统任务监听方法。 |
32
33**返回值:**
34
35  | 类型 | 说明 |
36  | -------- | -------- |
37  | number | 监听方法的index值,由系统创建,在注册系统任务状态监听时分配,和监听方法一一对应 。 |
38
39**示例:**
40
41  ```js
42  var listener =  {
43  	onMissionCreated: this.onMissionCreatedCallback,
44  	onMissionDestroyed: this.onMissionDestroyedCallback,
45  	onMissionSnapshotChanged: this.onMissionSnapshotChangedCallback,
46  	onMissionMovedToFront: this.onMissionMovedToFrontCallback
47  };
48  console.log("registerMissionListener")
49  var listenerid = missionManager.registerMissionListener(listener);
50
51  ```
52
53
54## missionManager.unregisterMissionListener
55
56unregisterMissionListener(listenerId: number, callback: AsyncCallback<void>): void;
57
58取消任务状态监听。
59
60**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
61
62**参数:**
63
64  | 参数名 | 类型 | 必填 | 说明 |
65  | -------- | -------- | -------- | -------- |
66  | listenerId | number | 是 | 系统任务状态监听方法的index值,和监听方法一一对应,由registerMissionListener方法返回。 |
67  | callback | AsyncCallback<void> | 是 | 执行结果回调函数。 |
68
69**示例:**
70
71  ```js
72  var listener =  {
73    onMissionCreated: this.onMissionCreatedCallback,
74    onMissionDestroyed: this.onMissionDestroyedCallback,
75    onMissionSnapshotChanged: this.onMissionSnapshotChangedCallback,
76    onMissionMovedToFront: this.onMissionMovedToFrontCallback
77  };
78  console.log("registerMissionListener")
79  var listenerid = missionManager.registerMissionListener(listener);
80
81  missionManager.unregisterMissionListener(listenerid, (error) => {
82    console.log("unregisterMissionListener");
83  })
84  ```
85
86
87## missionManager.unregisterMissionListener
88
89unregisterMissionListener(listenerId: number): Promise<void>;
90
91取消任务状态监听,以promise方式返回执行结果。
92
93**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
94
95**参数:**
96
97  | 参数名 | 类型 | 必填 | 说明 |
98  | -------- | -------- | -------- | -------- |
99  | listenerId | number | 是 | 系统任务状态监听方法的index值,和监听方法一一对应,由registerMissionListener方法返回。 |
100
101**返回值:**
102
103  | 类型 | 说明 |
104  | -------- | -------- |
105  | Promise<void> | promise方式返回执行结果。 |
106
107**示例:**
108
109  ```js
110  var listener =  {
111      onMissionCreated: this.onMissionCreatedCallback,
112      onMissionDestroyed: this.onMissionDestroyedCallback,
113      onMissionSnapshotChanged: this.onMissionSnapshotChangedCallback,
114      onMissionMovedToFront: this.onMissionMovedToFrontCallback
115    };
116    console.log("registerMissionListener")
117    var listenerid = missionManager.registerMissionListener(listener);
118
119    missionManager.unregisterMissionListener(listenerid).catch(function (err){
120      console.log(err);
121    });
122  ```
123
124
125## missionManager.getMissionInfo
126
127getMissionInfo(deviceId: string, missionId: number, callback: AsyncCallback<MissionInfo>): void;
128
129获取任务信息,以异步回调的方式返回任务信息。
130
131**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
132
133**参数:**
134
135  | 参数名 | 类型 | 必填 | 说明 |
136  | -------- | -------- | -------- | -------- |
137  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
138  | missionId | number | 是 | 任务ID。 |
139  | callback | AsyncCallback<[MissionInfo](#missioninfo)> | 是 | 执行结果回调函数,返回任务信息。 |
140
141**示例:**
142
143  ```js
144  import missionManager from '@ohos.application.missionManager'
145
146  missionManager.getMissionInfo("", allMissions[0].missionId, (error, mission) => {
147  	console.log("getMissionInfo is called, error.code = " + error.code)
148  	console.log("mission.missionId = " + mission.missionId);
149  	console.log("mission.runningState = " + mission.runningState);
150  	console.log("mission.lockedState = " + mission.lockedState);
151  	console.log("mission.timestamp = " + mission.timestamp);
152  	console.log("mission.label = " + mission.label);
153  	console.log("mission.iconPath = " + mission.iconPath);
154  });
155  ```
156
157
158## missionManager.getMissionInfo
159
160getMissionInfo(deviceId: string, missionId: number): Promise<MissionInfo>;
161
162获取任务信息,以promise方式返回任务信息。
163
164**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
165
166**参数:**
167
168  | 参数名 | 类型 | 必填 | 说明 |
169  | -------- | -------- | -------- | -------- |
170  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
171  | missionId | number | 是 | 任务ID。 |
172
173**返回值:**
174
175  | 类型 | 说明 |
176  | -------- | -------- |
177  | Promise<[MissionInfo](#missioninfo)> | 任务信息。 |
178
179**示例:**
180
181  ```js
182  import missionManager from '@ohos.application.missionManager'
183
184  var mission = missionManager.getMissionInfo("", id).catch(function (err){
185      console.log(err);
186  });
187  ```
188
189
190## missionManager.getMissionInfos
191
192getMissionInfos(deviceId: string, numMax: number, callback: AsyncCallback<Array<MissionInfo>>): void;
193
194获取所有任务信息,以回调函数的方式返回任务信息数组。
195
196**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
197
198**参数:**
199
200  | 参数名 | 类型 | 必填 | 说明 |
201  | -------- | -------- | -------- | -------- |
202  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
203  | numMax | number | 是 | 任务信息数量上限。 |
204  | callback | AsyncCallback<Array<[MissionInfo](#missioninfo)>> | 是 | 执行结果回调函数,返回任务信息数组。 |
205
206**示例:**
207
208  ```js
209  import missionManager from '@ohos.application.missionManager'
210
211  missionManager.getMissionInfos("", 10, (error, missions) => {
212      console.log("getMissionInfos is called, error.code = " + error.code);
213      console.log("size = " + missions.length);
214      console.log("missions = " + JSON.stringify(missions));
215  })
216  ```
217
218
219## missionManager.getMissionInfos
220
221getMissionInfos(deviceId: string, numMax: number): Promise<Array<MissionInfo>>;
222
223获取所有任务信息,以promise的方式返回任务信息数组。
224
225**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
226
227**参数:**
228
229  | 参数名 | 类型 | 必填 | 说明 |
230  | -------- | -------- | -------- | -------- |
231  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
232  | numMax | number | 是 | 任务信息数量上限。 |
233
234**返回值:**
235
236  | 类型 | 说明 |
237  | -------- | -------- |
238  | Promise<Array<[MissionInfo](#missioninfo)>> | 任务信息数组。 |
239
240**示例:**
241
242  ```js
243  import missionManager from '@ohos.application.missionManager'
244
245  var allMissions = missionManager.getMissionInfos("", 10).catch(function (err){
246      console.log(err);
247  });
248  ```
249
250
251## missionManager.getMissionSnapShot
252
253getMissionSnapShot(deviceId: string, missionId: number, callback: AsyncCallback<MissionSnapshot>): void;
254
255获取任务快照,以回调函数的方式返回快照内容。
256
257**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
258
259**参数:**
260
261  | 参数名 | 类型 | 必填 | 说明 |
262  | -------- | -------- | -------- | -------- |
263  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
264  | missionId | number | 是 | 任务ID。 |
265  | callback | AsyncCallback<[MissionSnapshot](js-apis-application-MissionSnapshot.md)> | 是 | 执行结果回调函数,返回任务快照信息。 |
266
267**示例:**
268
269  ```js
270  import missionManager from '@ohos.application.missionManager'
271
272  missionManager.getMissionInfos("", 10, (error, missions) => {
273    console.log("getMissionInfos is called, error.code = " + error.code);
274    console.log("size = " + missions.length);
275    console.log("missions = " + JSON.stringify(missions));
276    var id = missions[0].missionId;
277
278    missionManager.getMissionSnapShot("", id, (error, snapshot) => {
279  	console.log("getMissionSnapShot is called, error.code = " + error.code);
280  	console.log("bundleName = " + snapshot.ability.bundleName);
281  })
282  })
283  ```
284
285
286## missionManager.getMissionSnapShot
287
288getMissionSnapShot(deviceId: string, missionId: number): Promise<MissionSnapshot>;
289
290获取任务快照,以promise的方式返回快照内容。
291
292**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
293
294**参数:**
295
296  | 参数名 | 类型 | 必填 | 说明 |
297  | -------- | -------- | -------- | -------- |
298  | deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
299  | missionId | number | 是 | 任务ID。 |
300
301**返回值:**
302
303  | 类型 | 说明 |
304  | -------- | -------- |
305  | Promise<[MissionSnapshot](js-apis-application-MissionSnapshot.md)> | 任务快照信息。 |
306
307**示例:**
308
309  ```js
310  import missionManager from '@ohos.application.missionManager'
311
312  var allMissions = missionManager.getMissionInfos("", 10).catch(function (err){
313    console.log(err);
314  });
315  console.log("size = " + allMissions.length);
316  console.log("missions = " + JSON.stringify(allMissions));
317  var id = allMissions[0].missionId;
318  var snapshot = missionManager.getMissionSnapShot("", id).catch(function (err){
319    console.log(err);
320  });
321  ```
322
323
324## missionManager.lockMission
325
326lockMission(missionId: number, callback: AsyncCallback<void>): void;
327
328锁定指定任务id的任务,以回调函数的方式返回。
329
330**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
331
332**参数:**
333
334  | 参数名 | 类型 | 必填 | 说明 |
335  | -------- | -------- | -------- | -------- |
336  | missionId | number | 是 | 任务ID。 |
337  | callback | AsyncCallback<void> | 是 | 执行结果回调函数。 |
338
339**示例:**
340
341  ```js
342  import missionManager from '@ohos.application.missionManager'
343
344  missionManager.getMissionInfos("", 10, (error, missions) => {
345    console.log("getMissionInfos is called, error.code = " + error.code);
346    console.log("size = " + missions.length);
347    console.log("missions = " + JSON.stringify(missions));
348    var id = missions[0].missionId;
349
350    missionManager.lockMission(id).then(() => {
351  	console.log("lockMission is called ");
352  });
353  });
354  ```
355
356
357## missionManager.lockMission
358
359lockMission(missionId: number): Promise<void>;
360
361锁定指定任务id的任务,以promise方式返回。
362
363**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
364
365**参数:**
366
367  | 参数名 | 类型 | 必填 | 说明 |
368  | -------- | -------- | -------- | -------- |
369  | missionId | number | 是 | 任务ID。 |
370
371**返回值:**
372
373  | 类型 | 说明 |
374  | -------- | -------- |
375  | Promise<void> | promise方式返回执行结果。 |
376
377**示例:**
378
379  ```js
380  import missionManager from '@ohos.application.missionManager'
381
382  var allMissions = missionManager.getMissionInfos("", 10).catch(function (err){
383    console.log(err);
384  });
385  console.log("size = " + allMissions.length);
386  console.log("missions = " + JSON.stringify(allMissions));
387  var id = allMissions[0].missionId;
388
389  missionManager.lockMission(id).catch(function (err){
390      console.log(err);
391  });
392  ```
393
394
395## missionManager.unlockMission
396
397unlockMission(missionId: number, callback: AsyncCallback<void>): void;
398
399解锁指定任务id的任务,以回调函数的方式返回。
400
401**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
402
403**参数:**
404
405| 参数名 | 类型 | 必填 | 说明 |
406| -------- | -------- | -------- | -------- |
407| missionId | number | 是 | 任务ID。 |
408| callback | AsyncCallback<void> | 是 | 执行结果回调函数。 |
409
410**示例:**
411
412  ```js
413  import missionManager from '@ohos.application.missionManager'
414
415  missionManager.getMissionInfos("", 10, (error, missions) => {
416    console.log("getMissionInfos is called, error.code = " + error.code);
417    console.log("size = " + missions.length);
418    console.log("missions = " + JSON.stringify(missions));
419    var id = missions[0].missionId;
420
421    missionManager.unlockMission(id).then(() => {
422  	console.log("unlockMission is called ");
423  });
424  });
425  ```
426
427
428## missionManager.unlockMission
429
430unlockMission(missionId: number): Promise<void>;
431
432解锁指定任务id的任务,以promise的方式返回。
433
434**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
435
436**参数:**
437
438  | 参数名 | 类型 | 必填 | 说明 |
439  | -------- | -------- | -------- | -------- |
440  | missionId | number | 是 | 任务ID。 |
441
442**返回值:**
443
444  | 类型 | 说明 |
445  | -------- | -------- |
446  | Promise<void> | promise方式返回执行结果。 |
447
448**示例:**
449
450  ```js
451  import missionManager from '@ohos.application.missionManager'
452
453  var allMissions = missionManager.getMissionInfos("", 10).catch(function (err){
454    console.log(err);
455  });
456  console.log("size = " + allMissions.length);
457  console.log("missions = " + JSON.stringify(allMissions));
458  var id = allMissions[0].missionId;
459
460  missionManager.lockMission(id).catch(function (err){
461      console.log(err);
462  });
463  missionManager.unlockMission(id).catch(function (err){
464      console.log(err);
465  });
466  ```
467
468
469## missionManager.clearMission
470
471clearMission(missionId: number, callback: AsyncCallback<void>): void;
472
473清理指定任务id的任务,无论该任务是否被锁定,以回调函数的方式返回。
474
475**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
476
477**参数:**
478
479  | 参数名 | 类型 | 必填 | 说明 |
480  | -------- | -------- | -------- | -------- |
481  | missionId | number | 是 | 任务ID。 |
482  | callback | AsyncCallback<void> | 是 | 执行结果回调函数。 |
483
484**示例:**
485
486  ```js
487  import missionManager from '@ohos.application.missionManager'
488
489  missionManager.getMissionInfos("", 10, (error, missions) => {
490    console.log("getMissionInfos is called, error.code = " + error.code);
491    console.log("size = " + missions.length);
492    console.log("missions = " + JSON.stringify(missions));
493    var id = missions[0].missionId;
494
495    missionManager.clearMission(id).then(() => {
496  	console.log("clearMission is called ");
497  });
498  });
499  ```
500
501
502## missionManager.clearMission
503
504clearMission(missionId: number): Promise<void>;
505
506清理指定任务id的任务,无论该任务是否被锁定,以promise的方式返回。
507
508**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
509
510**参数:**
511
512  | 参数名 | 类型 | 必填 | 说明 |
513  | -------- | -------- | -------- | -------- |
514  | missionId | number | 是 | 任务ID。 |
515
516**返回值:**
517
518  | 类型 | 说明 |
519  | -------- | -------- |
520  | Promise<void> | promise方式返回执行结果。 |
521
522**示例:**
523
524  ```js
525  import missionManager from '@ohos.application.missionManager'
526
527  var allMissions = missionManager.getMissionInfos("", 10).catch(function (err){
528    console.log(err);
529  });
530  console.log("size = " + allMissions.length);
531  console.log("missions = " + JSON.stringify(allMissions));
532  var id = allMissions[0].missionId;
533
534  missionManager.clearMission(id).catch(function (err){
535    console.log(err);
536  });
537  ```
538
539
540## missionManager.clearAllMissions
541
542clearAllMissions(callback: AsyncCallback<void>): void;
543
544清理所有未锁定的任务,以回调函数的方式返回。
545
546**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
547
548**示例:**
549
550  ```js
551  import missionManager from '@ohos.application.missionManager'
552
553  missionManager.clearAllMissions().then(() => {
554    console.log("clearAllMissions is called ");
555  });
556  ```
557
558
559## missionManager.clearAllMissions
560
561clearAllMissions(): Promise<void>;
562
563清理所有未锁定的任务,以promise的方式返回。
564
565**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
566
567**返回值:**
568
569  | 类型 | 说明 |
570  | -------- | -------- |
571  | Promise<void> | promise方式返回执行结果。 |
572
573**示例:**
574
575  ```js
576  import missionManager from '@ohos.application.missionManager'
577  missionManager.clearAllMissions().catch(function (err){
578    console.log(err);
579  });
580  ```
581
582
583## missionManager.moveMissionToFront
584
585moveMissionToFront(missionId: number, callback: AsyncCallback<void>): void;
586
587把指定任务id的任务切到前台,以回调函数的方式返回。
588
589**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
590
591**参数:**
592
593  | 参数名 | 类型 | 必填 | 说明 |
594  | -------- | -------- | -------- | -------- |
595  | missionId | number | 是 | 任务ID。 |
596  | callback | AsyncCallback<void> | 是 | 执行结果回调函数。 |
597
598**示例:**
599
600  ```js
601  import missionManager from '@ohos.application.missionManager'
602
603  missionManager.getMissionInfos("", 10, (error, missions) => {
604    console.log("getMissionInfos is called, error.code = " + error.code);
605    console.log("size = " + missions.length);
606    console.log("missions = " + JSON.stringify(missions));
607    var id = missions[0].missionId;
608
609    missionManager.moveMissionToFront(id).then(() => {
610  	console.log("moveMissionToFront is called ");
611  });
612  });
613  ```
614
615
616## missionManager.moveMissionToFront
617
618moveMissionToFront(missionId: number, options: StartOptions, callback: AsyncCallback<void>): void;
619
620把指定任务id的任务切到前台,同时指定任务切换到前台时的启动参数,例如窗口模式、设备ID等,以回调函数的方式返回。
621
622**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
623
624**参数:**
625
626  | 参数名 | 类型 | 必填 | 说明 |
627  | -------- | -------- | -------- | -------- |
628  | missionId | number | 是 | 任务ID。 |
629  | options | StartOptions | 是 | 启动参数选项,用于指定任务切到前台时的窗口模式,设备ID等。 |
630  | callback | AsyncCallback<void> | 是 | 执行结果回调函数。 |
631
632**示例:**
633
634  ```js
635  import missionManager from '@ohos.application.missionManager'
636
637  missionManager.getMissionInfos("", 10, (error, missions) => {
638    console.log("getMissionInfos is called, error.code = " + error.code);
639    console.log("size = " + missions.length);
640    console.log("missions = " + JSON.stringify(missions));
641    var id = missions[0].missionId;
642
643    missionManager.moveMissionToFront(id,{windowMode : 101}).then(() => {
644  	console.log("moveMissionToFront is called ");
645    });
646  });
647  ```
648
649
650## missionManager.moveMissionToFront
651
652moveMissionToFront(missionId: number, options?: StartOptions): Promise<void>;
653
654把指定任务id的任务切到前台,同时指定任务切换到前台时的启动参数,例如窗口模式、设备ID等,以promise的方式返回。
655
656**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
657
658**参数:**
659
660  | 参数名 | 类型 | 必填 | 说明 |
661  | -------- | -------- | -------- | -------- |
662  | missionId | number | 是 | 任务ID。 |
663  | options | StartOptions | 否 | 启动参数选项,用于指定任务切到前台时的窗口模式,设备ID等。 |
664
665**返回值:**
666
667  | 类型 | 说明 |
668  | -------- | -------- |
669  | Promise<void> | promise方式返回执行结果。 |
670
671**示例:**
672
673  ```js
674  import missionManager from '@ohos.application.missionManager'
675
676  var allMissions = missionManager.getMissionInfos("", 10).catch(function (err){
677    console.log(err);
678  });
679  console.log("size = " + allMissions.length);
680  console.log("missions = " + JSON.stringify(allMissions));
681  var id = allMissions[0].missionId;
682
683  missionManager.moveMissionToFront(id).catch(function (err){
684    console.log(err);
685  });
686  ```
687
688