js-apis-application-missionManager.md 30.5 KB
Newer Older
1
# @ohos.application.missionManager (missionManager)
W
wusongqing 已提交
2

3
The **missionManager** module provides APIs to lock, unlock, and clear missions, and switch a mission to the foreground.
W
wusongqing 已提交
4

W
wusongqing 已提交
5 6
> **NOTE**
> 
7
> The APIs of this module are supported since API version 8 and deprecated since API version 9. You are advised to use [@ohos.app.ability.missionManager](js-apis-app-ability-missionManager.md) instead. Newly added APIs will be marked with a superscript to indicate their earliest API version.
W
wusongqing 已提交
8 9 10

## Modules to Import

11
```ts
12
import missionManager from '@ohos.application.missionManager';
W
wusongqing 已提交
13 14
```

W
wusongqing 已提交
15 16 17
## Required Permissions

ohos.permission.MANAGE_MISSIONS
W
wusongqing 已提交
18 19 20

## missionManager.registerMissionListener

W
wusongqing 已提交
21
registerMissionListener(listener: MissionListener): number;
W
wusongqing 已提交
22 23 24

Registers a listener to observe the mission status.

25
**Required permissions**: ohos.permission.MANAGE_MISSIONS
26

W
wusongqing 已提交
27 28
**System capability**: SystemCapability.Ability.AbilityRuntime.Mission

29 30
**System API**: This is a system API and cannot be called by third-party applications.

W
wusongqing 已提交
31 32
**Parameters**

W
wusongqing 已提交
33 34
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
35
  | listener | [MissionListener](js-apis-inner-application-missionListener.md) | Yes| Mission status listener to register.|
W
wusongqing 已提交
36 37 38

**Return value**

W
wusongqing 已提交
39 40
  | Type| Description|
  | -------- | -------- |
41
  | number | Index of the mission status listener, which is created by the system and allocated when the listener is registered.|
W
wusongqing 已提交
42 43 44

**Example**

45
```ts
46 47 48 49 50 51 52 53
let listener = {
    onMissionCreated: function (mission) {console.log('--------onMissionCreated-------');},
    onMissionDestroyed: function (mission) {console.log('--------onMissionDestroyed-------');},
    onMissionSnapshotChanged: function (mission) {console.log('--------onMissionSnapshotChanged-------');},
    onMissionMovedToFront: function (mission) {console.log('--------onMissionMovedToFront-------');},
    onMissionIconUpdated: function (mission, icon) {console.log('--------onMissionIconUpdated-------');},
    onMissionClosed: function (mission) {console.log('--------onMissionClosed-------');},
    onMissionLabelUpdated: function (mission) {console.log('--------onMissionLabelUpdated-------');}
54
};
55 56
console.log('registerMissionListener');
let listenerid = missionManager.registerMissionListener(listener);
G
Gloria 已提交
57
```
W
wusongqing 已提交
58 59 60 61


## missionManager.unregisterMissionListener

W
wusongqing 已提交
62
unregisterMissionListener(listenerId: number, callback: AsyncCallback<void>): void;
W
wusongqing 已提交
63

W
wusongqing 已提交
64
Deregisters a mission status listener. This API uses an asynchronous callback to return the result.
W
wusongqing 已提交
65

66
**Required permissions**: ohos.permission.MANAGE_MISSIONS
67

W
wusongqing 已提交
68 69
**System capability**: SystemCapability.Ability.AbilityRuntime.Mission

70 71
**System API**: This is a system API and cannot be called by third-party applications.

W
wusongqing 已提交
72 73
**Parameters**

W
wusongqing 已提交
74 75
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
76
  | listenerId | number | Yes| Index of the mission status listener to deregister. It is returned by **registerMissionListener()**.|
W
wusongqing 已提交
77
  | callback | AsyncCallback<void> | Yes| Callback used to return the result.|
W
wusongqing 已提交
78 79 80

**Example**

81
```ts
82 83 84 85 86 87 88 89
  let listener = {
      onMissionCreated: function (mission) {console.log('--------onMissionCreated-------');},
      onMissionDestroyed: function (mission) {console.log('--------onMissionDestroyed-------');},
      onMissionSnapshotChanged: function (mission) {console.log('--------onMissionSnapshotChanged-------');},
      onMissionMovedToFront: function (mission) {console.log('--------onMissionMovedToFront-------');},
      onMissionIconUpdated: function (mission, icon) {console.log('--------onMissionIconUpdated-------');},
      onMissionClosed: function (mission) {console.log('--------onMissionClosed-------');},
      onMissionLabelUpdated: function (mission) {console.log('--------onMissionLabelUpdated-------');}
W
wusongqing 已提交
90
  };
91 92
  console.log('registerMissionListener');
  let listenerid = missionManager.registerMissionListener(listener);
W
wusongqing 已提交
93 94

  missionManager.unregisterMissionListener(listenerid, (error) => {
95
      console.error('unregisterMissionListener fail, error: ${error}');
96
  });
G
Gloria 已提交
97
```
W
wusongqing 已提交
98 99 100 101


## missionManager.unregisterMissionListener

W
wusongqing 已提交
102
unregisterMissionListener(listenerId: number): Promise<void>;
W
wusongqing 已提交
103

W
wusongqing 已提交
104
Deregisters a mission status listener. This API uses a promise to return the result.
W
wusongqing 已提交
105

106
**Required permissions**: ohos.permission.MANAGE_MISSIONS
107

W
wusongqing 已提交
108 109
**System capability**: SystemCapability.Ability.AbilityRuntime.Mission

110 111
**System API**: This is a system API and cannot be called by third-party applications.

W
wusongqing 已提交
112 113
**Parameters**

W
wusongqing 已提交
114 115
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
116
  | listenerId | number | Yes| Index of the mission status listener to deregister. It is returned by **registerMissionListener()**.|
W
wusongqing 已提交
117

W
wusongqing 已提交
118 119
**Return value**

W
wusongqing 已提交
120 121 122
  | Type| Description| 
  | -------- | -------- |
  | Promise<void> | Promise used to return the result.| 
W
wusongqing 已提交
123

W
wusongqing 已提交
124 125
**Example**

126
```ts
127 128 129 130 131 132 133 134
  let listener = {
      onMissionCreated: function (mission) {console.log('--------onMissionCreated-------');},
      onMissionDestroyed: function (mission) {console.log('--------onMissionDestroyed-------');},
      onMissionSnapshotChanged: function (mission) {console.log('--------onMissionSnapshotChanged-------');},
      onMissionMovedToFront: function (mission) {console.log('--------onMissionMovedToFront-------');},
      onMissionIconUpdated: function (mission, icon) {console.log('--------onMissionIconUpdated-------');},
      onMissionClosed: function (mission) {console.log('--------onMissionClosed-------');},
      onMissionLabelUpdated: function (mission) {console.log('--------onMissionLabelUpdated-------');}
G
Gloria 已提交
135
  };
136 137
  console.log('registerMissionListener');
  let listenerid = missionManager.registerMissionListener(listener);
G
Gloria 已提交
138

139 140
  missionManager.unregisterMissionListener(listenerid).catch(function (error) {
      console.error('unregisterMissionListener fail, error: ${error}');
G
Gloria 已提交
141 142
  });
```
W
wusongqing 已提交
143 144 145 146


## missionManager.getMissionInfo

W
wusongqing 已提交
147
getMissionInfo(deviceId: string, missionId: number, callback: AsyncCallback<MissionInfo>): void;
W
wusongqing 已提交
148

W
wusongqing 已提交
149
Obtains the information about a given mission. This API uses an asynchronous callback to return the result.
W
wusongqing 已提交
150

151
**Required permissions**: ohos.permission.MANAGE_MISSIONS
152

W
wusongqing 已提交
153 154
**System capability**: SystemCapability.Ability.AbilityRuntime.Mission

155 156
**System API**: This is a system API and cannot be called by third-party applications.

W
wusongqing 已提交
157 158
**Parameters**

W
wusongqing 已提交
159 160 161 162
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | deviceId | string | Yes| Device ID. It is a null string by default for the local device.|
  | missionId | number | Yes| Mission ID.|
163
  | callback | AsyncCallback<[MissionInfo](js-apis-inner-application-missionInfo.md)> | Yes| Callback used to return the mission information obtained.|
W
wusongqing 已提交
164 165 166

**Example**

167
  ```ts
168
  import missionManager from '@ohos.application.missionManager';
W
wusongqing 已提交
169

170 171
  let allMissions=missionManager.getMissionInfos('',10).catch(function(err){console.log(err);});
      missionManager.getMissionInfo('', allMissions[0].missionId, (error, mission) => {
172
        if (error.code) {
173
          console.error('getMissionInfo failed, error.code: ${JSON.stringify(error.code)}, error.message: ${JSON.stringify(error.message)}');
174 175 176
          return;
        }

177 178 179 180 181 182
        console.log('mission.missionId = ${mission.missionId}');
        console.log('mission.runningState = ${mission.runningState}');
        console.log('mission.lockedState = ${mission.lockedState}');
        console.log('mission.timestamp = ${mission.timestamp}');
        console.log('mission.label = ${mission.label}');
        console.log('mission.iconPath = ${mission.iconPath}');
W
wusongqing 已提交
183
      });
W
wusongqing 已提交
184 185 186 187 188
  ```


## missionManager.getMissionInfo

W
wusongqing 已提交
189
getMissionInfo(deviceId: string, missionId: number): Promise<MissionInfo>;
W
wusongqing 已提交
190

W
wusongqing 已提交
191
Obtains the information about a given mission. This API uses a promise to return the result.
W
wusongqing 已提交
192

193
**Required permissions**: ohos.permission.MANAGE_MISSIONS
194

W
wusongqing 已提交
195 196
**System capability**: SystemCapability.Ability.AbilityRuntime.Mission

197 198
**System API**: This is a system API and cannot be called by third-party applications.

W
wusongqing 已提交
199 200
**Parameters**

W
wusongqing 已提交
201 202 203 204
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | deviceId | string | Yes| Device ID. It is a null string by default for the local device.|
  | missionId | number | Yes| Mission ID.|
W
wusongqing 已提交
205 206 207

**Return value**

W
wusongqing 已提交
208 209
  | Type| Description|
  | -------- | -------- |
210
  | Promise<[MissionInfo](js-apis-inner-application-missionInfo.md)> | Promise used to return the mission information obtained.|
W
wusongqing 已提交
211 212 213

**Example**

214
  ```ts
215
  import missionManager from '@ohos.application.missionManager';
W
wusongqing 已提交
216

217 218
  let mission = missionManager.getMissionInfo('', 10).catch(function (error){
      console.error('getMissionInfo fail, error: ${error}');
W
wusongqing 已提交
219 220 221 222 223 224
  });
  ```


## missionManager.getMissionInfos

W
wusongqing 已提交
225
getMissionInfos(deviceId: string, numMax: number, callback: AsyncCallback<Array<MissionInfo>>): void;
W
wusongqing 已提交
226

W
wusongqing 已提交
227
Obtains information about all missions. This API uses an asynchronous callback to return the result.
W
wusongqing 已提交
228

229
**Required permissions**: ohos.permission.MANAGE_MISSIONS
230

W
wusongqing 已提交
231 232
**System capability**: SystemCapability.Ability.AbilityRuntime.Mission

233 234
**System API**: This is a system API and cannot be called by third-party applications.

W
wusongqing 已提交
235 236
**Parameters**

W
wusongqing 已提交
237 238 239 240
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | deviceId | string | Yes| Device ID. It is a null string by default for the local device.|
  | numMax | number | Yes| Maximum number of missions whose information can be obtained.|
241
  | callback | AsyncCallback<Array<[MissionInfo](js-apis-inner-application-missionInfo.md)>> | Yes| Callback used to return the array of mission information obtained.|
W
wusongqing 已提交
242 243 244

**Example**

245
  ```ts
246
  import missionManager from '@ohos.application.missionManager';
W
wusongqing 已提交
247

248
  missionManager.getMissionInfos('', 10, (error, missions) => {
249
      if (error.code) {
250
          console.error('getMissionInfos failed, error.code: ${JSON.stringify(error.code)}, error.message: ${JSON.stringify(error.message)}');
251 252
          return;
      }
253 254 255
      console.log('size = ${missions.length}');
      console.log('missions = ${JSON.stringify(missions)}');
  });
W
wusongqing 已提交
256 257 258 259 260
  ```


## missionManager.getMissionInfos

W
wusongqing 已提交
261
getMissionInfos(deviceId: string, numMax: number): Promise<Array<MissionInfo>>;
W
wusongqing 已提交
262

W
wusongqing 已提交
263
Obtains information about all missions. This API uses a promise to return the result.
W
wusongqing 已提交
264

265
**Required permissions**: ohos.permission.MANAGE_MISSIONS
266

W
wusongqing 已提交
267 268
**System capability**: SystemCapability.Ability.AbilityRuntime.Mission

269 270
**System API**: This is a system API and cannot be called by third-party applications.

W
wusongqing 已提交
271 272
**Parameters**

W
wusongqing 已提交
273 274 275 276
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | deviceId | string | Yes| Device ID. It is a null string by default for the local device.|
  | numMax | number | Yes| Maximum number of missions whose information can be obtained.|
W
wusongqing 已提交
277 278 279

**Return value**

W
wusongqing 已提交
280 281
  | Type| Description|
  | -------- | -------- |
282
  | Promise<Array<[MissionInfo](js-apis-inner-application-missionInfo.md)>> | Promise used to return the array of mission information obtained.|
W
wusongqing 已提交
283 284 285

**Example**

286
  ```ts
287
  import missionManager from '@ohos.application.missionManager';
W
wusongqing 已提交
288

289 290
  let allMissions = missionManager.getMissionInfos('', 10).catch(function (error){
      console.error('getMissionInfos fail, error: ${error}');
W
wusongqing 已提交
291 292 293 294 295 296
  });
  ```


## missionManager.getMissionSnapShot

W
wusongqing 已提交
297
getMissionSnapShot(deviceId: string, missionId: number, callback: AsyncCallback<MissionSnapshot>): void;
W
wusongqing 已提交
298 299 300

Obtains the snapshot of a given mission. This API uses an asynchronous callback to return the result.

301
**Required permissions**: ohos.permission.MANAGE_MISSIONS
302

W
wusongqing 已提交
303 304
**System capability**: SystemCapability.Ability.AbilityRuntime.Mission

305 306
**System API**: This is a system API and cannot be called by third-party applications.

W
wusongqing 已提交
307 308
**Parameters**

W
wusongqing 已提交
309 310 311 312
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | deviceId | string | Yes| Device ID. It is a null string by default for the local device.|
  | missionId | number | Yes| Mission ID.|
313
  | callback | AsyncCallback<[MissionSnapshot](js-apis-inner-application-missionSnapshot.md)> | Yes| Callback used to return the snapshot information obtained.|
W
wusongqing 已提交
314 315 316

**Example**

317
  ```ts
318
  import missionManager from '@ohos.application.missionManager';
W
wusongqing 已提交
319

320
  missionManager.getMissionInfos('', 10, (error, missions) => {
321
    if (error.code) {
322
        console.error('getMissionInfos failed, error.code: ${JSON.stringify(error.code)}, error.message: ${JSON.stringify(error.message)}');
323 324
        return;
    }
325 326 327
    console.log('size = ${missions.length}');
    console.log('missions = ${JSON.stringify(missions)}');
    let id = missions[0].missionId;
W
wusongqing 已提交
328

329
    missionManager.getMissionSnapShot('', id, (error, snapshot) => {
330
      if (error.code) {
331
          console.error('getMissionSnapShot failed, error.code: ${JSON.stringify(error.code)}, error.message: ${JSON.stringify(error.message)}');
332 333
          return;
      }
334 335 336
      console.log('bundleName = ${snapshot.ability.bundleName}');
    });
  });
W
wusongqing 已提交
337 338 339 340 341
  ```


## missionManager.getMissionSnapShot

W
wusongqing 已提交
342
getMissionSnapShot(deviceId: string, missionId: number): Promise<MissionSnapshot>;
W
wusongqing 已提交
343 344 345

Obtains the snapshot of a given mission. This API uses a promise to return the result.

346
**Required permissions**: ohos.permission.MANAGE_MISSIONS
347

W
wusongqing 已提交
348 349
**System capability**: SystemCapability.Ability.AbilityRuntime.Mission

350 351
**System API**: This is a system API and cannot be called by third-party applications.

W
wusongqing 已提交
352 353
**Parameters**

W
wusongqing 已提交
354 355 356 357
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | deviceId | string | Yes| Device ID. It is a null string by default for the local device.|
  | missionId | number | Yes| Mission ID.|
W
wusongqing 已提交
358 359 360

**Return value**

W
wusongqing 已提交
361 362
  | Type| Description|
  | -------- | -------- |
363
  | Promise<[MissionSnapshot](js-apis-inner-application-missionSnapshot.md)> | Promise used to return the snapshot information obtained.|
W
wusongqing 已提交
364 365 366

**Example**

367
  ```ts
368
  import missionManager from '@ohos.application.missionManager';
W
wusongqing 已提交
369

370 371
  let allMissions;
  missionManager.getMissionInfos('',10).then(function(res){
W
wusongqing 已提交
372
    allMissions=res;
373 374 375
    }).catch(function(error) {
        console.error('getMissionInfos fail, error: ${error}');
    });
376 377 378
    console.log('size = ${allMissions.length}');
    console.log('missions = ${JSON.stringify(allMissions)}');
    let id = allMissions[0].missionId;
W
wusongqing 已提交
379

380 381
    let snapshot = missionManager.getMissionSnapShot('', id).catch(function (error){
        console.error('getMissionSnapShot fail, error: ${error}');
W
wusongqing 已提交
382
    });
W
wusongqing 已提交
383 384
  ```

385 386 387 388 389 390
## missionManager.getLowResolutionMissionSnapShot<sup>9+</sup>

getLowResolutionMissionSnapShot(deviceId: string, missionId: number, callback: AsyncCallback\<MissionSnapshot>): void;

Obtains the low-resolution snapshot of a given mission. This API uses an asynchronous callback to return the result.

391
**Required permissions**: ohos.permission.MANAGE_MISSIONS
392 393 394 395 396 397 398 399 400 401 402

**System capability**: SystemCapability.Ability.AbilityRuntime.Mission

**System API**: This is a system API and cannot be called by third-party applications.

**Parameters**

  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | deviceId | string | Yes| Device ID. It is a null string by default for the local device.|
  | missionId | number | Yes| Mission ID.|
403
  | callback | AsyncCallback&lt;[MissionSnapshot](js-apis-inner-application-missionSnapshot.md)&gt; | Yes| Callback used to return the snapshot information obtained.|
404 405 406

**Example**

407
  ```ts
408
  import missionManager from '@ohos.application.missionManager';
409

410
  missionManager.getMissionInfos('', 10, (error, missions) => {
411
    if (error.code) {
412
        console.error('getMissionInfos failed, error.code: ${JSON.stringify(error.code)}, error.message: ${JSON.stringify(error.message)}');
413 414
        return;
    }
415 416 417
    console.log('size = ${missions.length}');
    console.log('missions = ${JSON.stringify(missions)}');
    let id = missions[0].missionId;
418

419
    missionManager.getLowResolutionMissionSnapShot('', id, (error, snapshot) => {
420
      if (error.code) {
421
          console.error('getLowResolutionMissionSnapShot failed, error.code: ${JSON.stringify(error.code)}, error.message: ${JSON.stringify(error.message)}');
422 423
          return;
      }
424 425 426
  	  console.log('bundleName = ${snapshot.ability.bundleName}');
    });
  });
427 428 429 430 431 432 433 434 435
  ```


## missionManager.getLowResolutionMissionSnapShot<sup>9+</sup>

getLowResolutionMissionSnapShot(deviceId: string, missionId: number): Promise\<MissionSnapshot>;

Obtains the low-resolution snapshot of a given mission. This API uses a promise to return the result.

436
**Required permissions**: ohos.permission.MANAGE_MISSIONS
437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452

**System capability**: SystemCapability.Ability.AbilityRuntime.Mission

**System API**: This is a system API and cannot be called by third-party applications.

**Parameters**

  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | deviceId | string | Yes| Device ID. It is a null string by default for the local device.|
  | missionId | number | Yes| Mission ID.|

**Return value**

  | Type| Description|
  | -------- | -------- |
453
  | Promise&lt;[MissionSnapshot](js-apis-inner-application-missionSnapshot.md)&gt; | Promise used to return the snapshot information obtained.|
454 455 456

**Example**

457
  ```ts
458
  import missionManager from '@ohos.application.missionManager';
459

460 461
  let allMissions;
  missionManager.getMissionInfos('',10).then(function(res){
462
    allMissions=res;
463 464 465
    }).catch(function(error) {
        console.error('getMissionInfos fail, error: ${error}');
    });
466 467 468
    console.log('size = ${allMissions.length}');
    console.log('missions = ${JSON.stringify(allMissions)}');
    let id = allMissions[0].missionId;
469

470 471
    let snapshot = missionManager.getLowResolutionMissionSnapShot('', id).catch(function (error){
        console.error('getLowResolutionMissionSnapShot fail, error: ${error}');
472 473 474
    });
  ```

W
wusongqing 已提交
475 476 477

## missionManager.lockMission

W
wusongqing 已提交
478
lockMission(missionId: number, callback: AsyncCallback&lt;void&gt;): void;
W
wusongqing 已提交
479 480 481

Locks a given mission. This API uses an asynchronous callback to return the result.

482
**Required permissions**: ohos.permission.MANAGE_MISSIONS
483

W
wusongqing 已提交
484 485
**System capability**: SystemCapability.Ability.AbilityRuntime.Mission

486 487
**System API**: This is a system API and cannot be called by third-party applications.

W
wusongqing 已提交
488 489
**Parameters**

W
wusongqing 已提交
490 491 492 493
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | missionId | number | Yes| Mission ID.|
  | callback | AsyncCallback&lt;void&gt; | Yes| Callback used to return the result.|
W
wusongqing 已提交
494 495 496

**Example**

497
  ```ts
498
  import missionManager from '@ohos.application.missionManager';
W
wusongqing 已提交
499

500
  missionManager.getMissionInfos('', 10, (error, missions) => {
501
    if (error.code) {
502
        console.error('getMissionInfos failed, error.code: ${JSON.stringify(error.code)}, error.message: ${JSON.stringify(error.message)}');
503 504
        return;
    }
505 506 507
    console.log('size = ${missions.length}');
    console.log('missions = ${JSON.stringify(missions)}');
    let id = missions[0].missionId;
W
wusongqing 已提交
508 509

    missionManager.lockMission(id).then(() => {
510 511
  	  console.log('lockMission is called ');
    });
W
wusongqing 已提交
512 513 514 515 516 517
  });
  ```


## missionManager.lockMission

W
wusongqing 已提交
518
lockMission(missionId: number): Promise&lt;void&gt;;
W
wusongqing 已提交
519 520 521

Locks a given mission. This API uses a promise to return the result.

522
**Required permissions**: ohos.permission.MANAGE_MISSIONS
523

W
wusongqing 已提交
524 525
**System capability**: SystemCapability.Ability.AbilityRuntime.Mission

526 527
**System API**: This is a system API and cannot be called by third-party applications.

W
wusongqing 已提交
528 529
**Parameters**

W
wusongqing 已提交
530 531 532
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | missionId | number | Yes| Mission ID.|
W
wusongqing 已提交
533

W
wusongqing 已提交
534 535
**Return value**

W
wusongqing 已提交
536 537 538
  | Type| Description| 
  | -------- | -------- |
  | Promise&lt;void&gt; | Promise used to return the result.| 
W
wusongqing 已提交
539

W
wusongqing 已提交
540 541
**Example**

542
  ```ts
543 544 545
  import missionManager from '@ohos.application.missionManager';
  let allMissions;
  missionManager.getMissionInfos('',10).then(function(res){
W
wusongqing 已提交
546
    allMissions=res;
547 548 549
  }).catch(function(error) {
      console.error('getMissionInfos fail, error: ${error}');
  });
550 551 552
  console.log('size = ${allMissions.length}');
  console.log('missions = ${JSON.stringify(allMissions)}');
  let id = allMissions[0].missionId;
W
wusongqing 已提交
553

554 555
  missionManager.lockMission(id).catch(function (error){
      console.error('lockMission fail, error: ${error}');
W
wusongqing 已提交
556 557 558 559 560 561
  });
  ```


## missionManager.unlockMission

W
wusongqing 已提交
562
unlockMission(missionId: number, callback: AsyncCallback&lt;void&gt;): void;
W
wusongqing 已提交
563 564 565

Unlocks a given mission. This API uses an asynchronous callback to return the result.

566
**Required permissions**: ohos.permission.MANAGE_MISSIONS
567

W
wusongqing 已提交
568 569
**System capability**: SystemCapability.Ability.AbilityRuntime.Mission

570 571
**System API**: This is a system API and cannot be called by third-party applications.

W
wusongqing 已提交
572 573
**Parameters**

W
wusongqing 已提交
574 575 576 577
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| missionId | number | Yes| Mission ID.|
| callback | AsyncCallback&lt;void&gt; | Yes| Callback used to return the result.|
W
wusongqing 已提交
578 579 580

**Example**

581
  ```ts
582
  import missionManager from '@ohos.application.missionManager';
W
wusongqing 已提交
583

584
  missionManager.getMissionInfos('', 10, (error, missions) => {
585
    if (error.code) {
586
        console.error('getMissionInfos failed, error.code: ${JSON.stringify(error.code)}, error.message: ${JSON.stringify(error.message)}');
587 588
        return;
    }
589 590 591
    console.log('size = ${missions.length}');
    console.log('missions = ${JSON.stringify(missions)}');
    let id = missions[0].missionId;
W
wusongqing 已提交
592 593

    missionManager.unlockMission(id).then(() => {
594 595
  	  console.log('unlockMission is called ');
    });
W
wusongqing 已提交
596 597 598 599 600 601
  });
  ```


## missionManager.unlockMission

W
wusongqing 已提交
602
unlockMission(missionId: number): Promise&lt;void&gt;;
W
wusongqing 已提交
603 604 605

Unlocks a given mission. This API uses a promise to return the result.

606
**Required permissions**: ohos.permission.MANAGE_MISSIONS
607

W
wusongqing 已提交
608 609
**System capability**: SystemCapability.Ability.AbilityRuntime.Mission

610 611
**System API**: This is a system API and cannot be called by third-party applications.

W
wusongqing 已提交
612 613
**Parameters**

W
wusongqing 已提交
614 615 616
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | missionId | number | Yes| Mission ID.|
W
wusongqing 已提交
617

W
wusongqing 已提交
618 619
**Return value**

W
wusongqing 已提交
620 621 622
  | Type| Description| 
  | -------- | -------- |
  | Promise&lt;void&gt; | Promise used to return the result.| 
W
wusongqing 已提交
623

W
wusongqing 已提交
624 625
**Example**

626
  ```ts
627
  import missionManager from '@ohos.application.missionManager';
W
wusongqing 已提交
628

629 630
  let allMissions;
  missionManager.getMissionInfos('',10).then(function(res){
W
wusongqing 已提交
631
    allMissions=res;
632 633 634
  }).catch(function(error) {
      console.error('getMissionInfos fail, error: ${error}');
  });
635 636 637
  console.log('size = ${allMissions.length}');
  console.log('missions = ${JSON.stringify(allMissions)}');
  let id = allMissions[0].missionId;
W
wusongqing 已提交
638

639 640
  missionManager.lockMission(id).catch(function (error){
      console.error('lockMission fail, error: ${error}');
W
wusongqing 已提交
641
  });
642 643
  missionManager.unlockMission(id).catch(function (error){
      console.error('unlockMission fail, error: ${error}');
W
wusongqing 已提交
644 645 646 647 648 649
  });
  ```


## missionManager.clearMission

W
wusongqing 已提交
650
clearMission(missionId: number, callback: AsyncCallback&lt;void&gt;): void;
W
wusongqing 已提交
651 652 653

Clears a given mission, regardless of whether it is locked. This API uses an asynchronous callback to return the result.

654
**Required permissions**: ohos.permission.MANAGE_MISSIONS
655

W
wusongqing 已提交
656 657
**System capability**: SystemCapability.Ability.AbilityRuntime.Mission

658 659
**System API**: This is a system API and cannot be called by third-party applications.

W
wusongqing 已提交
660 661
**Parameters**

W
wusongqing 已提交
662 663 664 665
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | missionId | number | Yes| Mission ID.|
  | callback | AsyncCallback&lt;void&gt; | Yes| Callback used to return the result.|
W
wusongqing 已提交
666 667 668

**Example**

669
  ```ts
670
  import missionManager from '@ohos.application.missionManager';
W
wusongqing 已提交
671

672
  missionManager.getMissionInfos('', 10, (error, missions) => {
673
    if (error.code) {
674
        console.error('getMissionInfos failed, error.code: ${JSON.stringify(error.code)}, error.message: ${JSON.stringify(error.message)}');
675 676
        return;
    }
677 678 679
    console.log('size = ${missions.length}');
    console.log('missions = ${JSON.stringify(missions)}');
    let id = missions[0].missionId;
W
wusongqing 已提交
680 681

    missionManager.clearMission(id).then(() => {
682 683
  	  console.log('clearMission is called ');
    });
W
wusongqing 已提交
684 685 686 687 688 689
  });
  ```


## missionManager.clearMission

W
wusongqing 已提交
690
clearMission(missionId: number): Promise&lt;void&gt;;
W
wusongqing 已提交
691 692 693

Clears a given mission, regardless of whether it is locked. This API uses a promise to return the result.

694
**Required permissions**: ohos.permission.MANAGE_MISSIONS
695

W
wusongqing 已提交
696 697
**System capability**: SystemCapability.Ability.AbilityRuntime.Mission

698 699
**System API**: This is a system API and cannot be called by third-party applications.

W
wusongqing 已提交
700 701
**Parameters**

W
wusongqing 已提交
702 703 704
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | missionId | number | Yes| Mission ID.|
W
wusongqing 已提交
705

W
wusongqing 已提交
706 707
**Return value**

W
wusongqing 已提交
708 709 710
  | Type| Description| 
  | -------- | -------- |
  | Promise&lt;void&gt; | Promise used to return the result.| 
W
wusongqing 已提交
711

W
wusongqing 已提交
712 713
**Example**

714
  ```ts
715
  import missionManager from '@ohos.application.missionManager';
W
wusongqing 已提交
716

717 718
  let allMissions;
  missionManager.getMissionInfos('',10).then(function(res){
W
wusongqing 已提交
719
    allMissions=res;
720 721 722
  }).catch(function(error) {
      console.error('getMissionInfos fail, error: ${error}');
  });
723 724 725
  console.log('size = ${allMissions.length}');
  console.log('missions = ${JSON.stringify(allMissions)}');
  let id = allMissions[0].missionId;
W
wusongqing 已提交
726

727 728
  missionManager.clearMission(id).catch(function (error){
    console.error('clearMission fail, error: ${error}');
W
wusongqing 已提交
729 730 731 732 733 734
  });
  ```


## missionManager.clearAllMissions

W
wusongqing 已提交
735
clearAllMissions(callback: AsyncCallback&lt;void&gt;): void;
W
wusongqing 已提交
736 737 738

Clears all unlocked missions. This API uses an asynchronous callback to return the result.

739
**Required permissions**: ohos.permission.MANAGE_MISSIONS
740

W
wusongqing 已提交
741 742
**System capability**: SystemCapability.Ability.AbilityRuntime.Mission

743 744
**System API**: This is a system API and cannot be called by third-party applications.

W
wusongqing 已提交
745 746
**Example**

747
  ```ts
W
wusongqing 已提交
748 749 750
  import missionManager from '@ohos.application.missionManager'

  missionManager.clearAllMissions().then(() => {
751
    console.log('clearAllMissions is called ');
W
wusongqing 已提交
752 753 754 755 756 757
  });
  ```


## missionManager.clearAllMissions

W
wusongqing 已提交
758
clearAllMissions(): Promise&lt;void&gt;;
W
wusongqing 已提交
759 760 761

Clears all unlocked missions. This API uses a promise to return the result.

762
**Required permissions**: ohos.permission.MANAGE_MISSIONS
763

W
wusongqing 已提交
764 765
**System capability**: SystemCapability.Ability.AbilityRuntime.Mission

766 767
**System API**: This is a system API and cannot be called by third-party applications.

W
wusongqing 已提交
768 769
**Return value**

W
wusongqing 已提交
770 771 772
  | Type| Description| 
  | -------- | -------- |
  | Promise&lt;void&gt; | Promise used to return the result.| 
W
wusongqing 已提交
773

W
wusongqing 已提交
774 775
**Example**

776
  ```ts
777
  import missionManager from '@ohos.application.missionManager';
778 779
  missionManager.clearAllMissions().catch(function (error){
      console.error('clearAllMissions fail, error: ${error}');
W
wusongqing 已提交
780 781 782 783 784 785
  });
  ```


## missionManager.moveMissionToFront

W
wusongqing 已提交
786
moveMissionToFront(missionId: number, callback: AsyncCallback&lt;void&gt;): void;
W
wusongqing 已提交
787 788 789

Switches a given mission to the foreground. This API uses an asynchronous callback to return the result.

790
**Required permissions**: ohos.permission.MANAGE_MISSIONS
791

W
wusongqing 已提交
792 793
**System capability**: SystemCapability.Ability.AbilityRuntime.Mission

794 795
**System API**: This is a system API and cannot be called by third-party applications.

W
wusongqing 已提交
796 797
**Parameters**

W
wusongqing 已提交
798 799 800 801
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | missionId | number | Yes| Mission ID.|
  | callback | AsyncCallback&lt;void&gt; | Yes| Callback used to return the result.|
W
wusongqing 已提交
802 803 804

**Example**

805
  ```ts
806
  import missionManager from '@ohos.application.missionManager';
W
wusongqing 已提交
807

808
  missionManager.getMissionInfos('', 10, (error, missions) => {
809
    if (error.code) {
810
        console.error('getMissionInfos failed, error.code: ${JSON.stringify(error.code)}, error.message: ${JSON.stringify(error.message)}');
811 812
        return;
    }
813 814 815
    console.log('size = ${missions.length}');
    console.log('missions = ${JSON.stringify(missions)}');
    let id = missions[0].missionId;
W
wusongqing 已提交
816 817

    missionManager.moveMissionToFront(id).then(() => {
818 819
  	  console.log('moveMissionToFront is called ');
    });
W
wusongqing 已提交
820 821 822 823 824 825
  });
  ```


## missionManager.moveMissionToFront

W
wusongqing 已提交
826
moveMissionToFront(missionId: number, options: StartOptions, callback: AsyncCallback&lt;void&gt;): void;
W
wusongqing 已提交
827

W
wusongqing 已提交
828
Switches a given mission to the foreground, with the startup parameters for the switching specified. This API uses an asynchronous callback to return the result.
W
wusongqing 已提交
829

830
**Required permissions**: ohos.permission.MANAGE_MISSIONS
831

W
wusongqing 已提交
832 833
**System capability**: SystemCapability.Ability.AbilityRuntime.Mission

834 835
**System API**: This is a system API and cannot be called by third-party applications.

W
wusongqing 已提交
836 837
**Parameters**

W
wusongqing 已提交
838 839 840
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | missionId | number | Yes| Mission ID.|
841
  | options | [StartOptions](js-apis-app-ability-startOptions.md) | Yes| Startup parameters, which are used to specify the window mode and device ID for switching the mission to the foreground.|
W
wusongqing 已提交
842
  | callback | AsyncCallback&lt;void&gt; | Yes| Callback used to return the result.|
W
wusongqing 已提交
843 844 845

**Example**

846
  ```ts
847
  import missionManager from '@ohos.application.missionManager';
W
wusongqing 已提交
848

849
  missionManager.getMissionInfos('', 10, (error, missions) => {
850
    if (error.code) {
851
        console.error('getMissionInfos failed, error.code: ${JSON.stringify(error.code)}, error.message: ${JSON.stringify(error.message)}');
852 853
        return;
    }
854 855 856
    console.log('size = ${missions.length}');
    console.log('missions = ${JSON.stringify(missions)}');
    let id = missions[0].missionId;
W
wusongqing 已提交
857 858

    missionManager.moveMissionToFront(id,{windowMode : 101}).then(() => {
859
  	  console.log('moveMissionToFront is called ');
W
wusongqing 已提交
860 861 862 863 864 865 866
    });
  });
  ```


## missionManager.moveMissionToFront

W
wusongqing 已提交
867
moveMissionToFront(missionId: number, options?: StartOptions): Promise&lt;void&gt;;
W
wusongqing 已提交
868

W
wusongqing 已提交
869
Switches a given mission to the foreground, with the startup parameters for the switching specified. This API uses a promise to return the result.
W
wusongqing 已提交
870

871
**Required permissions**: ohos.permission.MANAGE_MISSIONS
872

W
wusongqing 已提交
873 874
**System capability**: SystemCapability.Ability.AbilityRuntime.Mission

875 876
**System API**: This is a system API and cannot be called by third-party applications.

W
wusongqing 已提交
877 878
**Parameters**

W
wusongqing 已提交
879 880 881
  | Name| Type| Mandatory| Description|
  | -------- | -------- | -------- | -------- |
  | missionId | number | Yes| Mission ID.|
882
  | options | [StartOptions](js-apis-app-ability-startOptions.md) | No| Startup parameters, which are used to specify the window mode and device ID for switching the mission to the foreground.|
W
wusongqing 已提交
883

W
wusongqing 已提交
884 885
**Return value**

W
wusongqing 已提交
886 887 888
  | Type| Description| 
  | -------- | -------- |
  | Promise&lt;void&gt; | Promise used to return the result.| 
W
wusongqing 已提交
889

W
wusongqing 已提交
890 891
**Example**

892
  ```ts
893
  import missionManager from '@ohos.application.missionManager';
W
wusongqing 已提交
894

895 896
  let allMissions;
  missionManager.getMissionInfos('',10).then(function(res){
W
wusongqing 已提交
897
    allMissions=res;
898 899 900
  }).catch(function(error) {
      console.error('getMissionInfos fail, error: ${error}');
  });
901 902 903
  console.log('size = ${allMissions.length}');
  console.log('missions = ${JSON.stringify(allMissions)}');
  let id = allMissions[0].missionId;
W
wusongqing 已提交
904

905 906
  missionManager.moveMissionToFront(id).catch(function (error){
    console.error('moveMissionToFront fail, error: ${error}');
W
wusongqing 已提交
907 908
  });
  ```