1# missionManager 2 3 4>  **说明:** 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