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<[MissionSnapshot](js-apis-inner-application-missionSnapshot.md)> | 是 | 执行结果回调函数,返回任务快照信息。 | 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<[MissionSnapshot](js-apis-inner-application-missionSnapshot.md)> | 任务快照信息。 | 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<void>): 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<void> | 是 | 执行结果回调函数。 | 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<void>; 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<void> | 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<void>): 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<void> | 是 | 执行结果回调函数。 | 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<void>; 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<void> | 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<void>): 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<void> | 是 | 执行结果回调函数。 | 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<void>; 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<void> | 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<void>): 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<void>; 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<void> | 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<void>): 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<void> | 是 | 执行结果回调函数。 | 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<void>): 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<void> | 是 | 执行结果回调函数。 | 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<void>; 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<void> | 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