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'; 48import AbilityConstant from '@ohos.app.ability.AbilityConstant'; 49import common from '@ohos.app.ability.common'; 50import Want from '@ohos.app.ability.Want'; 51import { BusinessError } from '@ohos.base'; 52import window from '@ohos.window'; 53 54let listener: missionManager.MissionListener = { 55 onMissionCreated: (mission) => {console.log('--------onMissionCreated-------');}, 56 onMissionDestroyed: (mission) => {console.log('--------onMissionDestroyed-------');}, 57 onMissionSnapshotChanged: (mission) => {console.log('--------onMissionSnapshotChanged-------');}, 58 onMissionMovedToFront: (mission) => {console.log('--------onMissionMovedToFront-------');}, 59 onMissionIconUpdated: (mission, icon) => {console.log('--------onMissionIconUpdated-------');}, 60 onMissionClosed: (mission) => {console.log('--------onMissionClosed-------');}, 61 onMissionLabelUpdated: (mission) => {console.log('--------onMissionLabelUpdated-------');} 62}; 63 64let listenerId = -1; 65let abilityWant: Want; 66let context: common.UIAbilityContext; 67 68export default class EntryAbility extends UIAbility { 69 onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) { 70 console.log('[Demo] EntryAbility onCreate'); 71 abilityWant = want; 72 context = this.context; 73 } 74 75 onDestroy() { 76 try { 77 if (listenerId !== -1) { 78 missionManager.off('mission', listenerId).catch((err: BusinessError) => { 79 console.log(err); 80 }); 81 } 82 } catch (paramError) { 83 let code = (paramError as BusinessError).code; 84 let message = (paramError as BusinessError).message; 85 console.error(`error: ${code}, ${message} `); 86 } 87 console.log('[Demo] EntryAbility onDestroy'); 88 } 89 90 onWindowStageCreate(windowStage: window.WindowStage) { 91 // Main window is created, set main page for this ability 92 console.log('[Demo] EntryAbility onWindowStageCreate'); 93 try { 94 listenerId = missionManager.on('mission', listener); 95 } catch (paramError) { 96 let code = (paramError as BusinessError).code; 97 let message = (paramError as BusinessError).message; 98 console.error(`error: ${code}, ${message} `); 99 } 100 101 windowStage.loadContent('pages/index', (err, data) => { 102 if (err.code) { 103 console.error(`Failed to load the content. Cause: ${JSON.stringify(err)}`); 104 return; 105 } 106 console.info(`Succeeded in loading the content. Data: ${JSON.stringify(data)}`); 107 }); 108 } 109}; 110``` 111 112 113## missionManager.off 114 115off(type: 'mission', listenerId: number, callback: AsyncCallback<void>): void; 116 117解注册任务状态监听器。 118 119**需要权限**:ohos.permission.MANAGE_MISSIONS 120 121**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 122 123**系统API**: 此接口为系统接口,三方应用不支持调用。 124 125**参数:** 126 127 | 参数名 | 类型 | 必填 | 说明 | 128 | -------- | -------- | -------- | -------- | 129 | listenerId | number | 是 | 系统任务状态监器法的index值,和监听器一一对应,由on方法返回。 | 130 | callback | AsyncCallback<void> | 是 | 执行结果回调函数。 | 131 132**错误码**: 133 134| 错误码ID | 错误信息 | 135| ------- | -------- | 136| 16300002 | Input error. The specified mission listener does not exist. | 137 138以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。 139 140**示例:** 141 142```ts 143import missionManager from '@ohos.app.ability.missionManager'; 144import UIAbility from '@ohos.app.ability.UIAbility'; 145import AbilityConstant from '@ohos.app.ability.AbilityConstant'; 146import common from '@ohos.app.ability.common'; 147import Want from '@ohos.app.ability.Want'; 148import { BusinessError } from '@ohos.base'; 149import window from '@ohos.window'; 150 151let listener: missionManager.MissionListener = { 152 onMissionCreated: (mission) => {console.log('--------onMissionCreated-------');}, 153 onMissionDestroyed: (mission) => {console.log('--------onMissionDestroyed-------');}, 154 onMissionSnapshotChanged: (mission) => {console.log('--------onMissionSnapshotChanged-------');}, 155 onMissionMovedToFront: (mission) => {console.log('--------onMissionMovedToFront-------');}, 156 onMissionIconUpdated: (mission, icon) => {console.log('--------onMissionIconUpdated-------');}, 157 onMissionClosed: (mission) => {console.log('--------onMissionClosed-------');}, 158 onMissionLabelUpdated: (mission) => {console.log('--------onMissionLabelUpdated-------');} 159}; 160 161let listenerId = -1; 162let abilityWant: Want; 163let context: common.UIAbilityContext; 164 165export default class EntryAbility extends UIAbility { 166 onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) { 167 console.log('[Demo] EntryAbility onCreate'); 168 abilityWant = want; 169 context = this.context; 170 } 171 172 onDestroy() { 173 try { 174 if (listenerId !== -1) { 175 missionManager.off('mission', listenerId, (err) => { 176 console.log('$(err.code)'); 177 }); 178 } 179 } catch (paramError) { 180 let code = (paramError as BusinessError).code; 181 let message = (paramError as BusinessError).message; 182 console.error(`error: ${code}, ${message} `); 183 } 184 console.log('[Demo] EntryAbility onDestroy'); 185 } 186 187 onWindowStageCreate(windowStage: window.WindowStage) { 188 // Main window is created, set main page for this ability 189 console.log('[Demo] EntryAbility onWindowStageCreate'); 190 try { 191 listenerId = missionManager.on('mission', listener); 192 } catch (paramError) { 193 let code = (paramError as BusinessError).code; 194 let message = (paramError as BusinessError).message; 195 console.error(`error: ${code}, ${message} `); 196 } 197 198 windowStage.loadContent('pages/index', (err: BusinessError, data) => { 199 if (err.code) { 200 console.error(`Failed to load the content. Cause: ${JSON.stringify(err)}`); 201 return; 202 } 203 console.info(`Succeeded in loading the content. Data: ${JSON.stringify(data)}`); 204 }); 205 } 206}; 207``` 208 209 210## missionManager.off 211 212off(type: 'mission', listenerId: number): Promise<void>; 213 214解注册任务状态监听,以promise方式返回执行结果。 215 216**需要权限**:ohos.permission.MANAGE_MISSIONS 217 218**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 219 220**系统API**: 此接口为系统接口,三方应用不支持调用。 221 222**参数:** 223 224 | 参数名 | 类型 | 必填 | 说明 | 225 | -------- | -------- | -------- | -------- | 226 | listenerId | number | 是 | 系统任务状态监听器的index值,和监听器一一对应,由on方法返回。 | 227 228**返回值:** 229 230 | 类型 | 说明 | 231 | -------- | -------- | 232 | Promise<void> | promise方式返回执行结果。 | 233 234**错误码**: 235 236| 错误码ID | 错误信息 | 237| ------- | -------- | 238| 16300002 | Input error. The specified mission listener does not exist. | 239 240以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。 241 242**示例:** 243 244```ts 245import missionManager from '@ohos.app.ability.missionManager'; 246import UIAbility from '@ohos.app.ability.UIAbility'; 247import AbilityConstant from '@ohos.app.ability.AbilityConstant'; 248import common from '@ohos.app.ability.common'; 249import Want from '@ohos.app.ability.Want'; 250import { BusinessError } from '@ohos.base'; 251import window from '@ohos.window'; 252 253let listener: missionManager.MissionListener = { 254 onMissionCreated: (mission) => {console.log('--------onMissionCreated-------');}, 255 onMissionDestroyed: (mission) => {console.log('--------onMissionDestroyed-------');}, 256 onMissionSnapshotChanged: (mission) => {console.log('--------onMissionSnapshotChanged-------');}, 257 onMissionMovedToFront: (mission) => {console.log('--------onMissionMovedToFront-------');}, 258 onMissionIconUpdated: (mission, icon) => {console.log('--------onMissionIconUpdated-------');}, 259 onMissionClosed: (mission) => {console.log('--------onMissionClosed-------');}, 260 onMissionLabelUpdated: (mission) => {console.log('--------onMissionLabelUpdated-------');} 261}; 262 263let listenerId = -1; 264let abilityWant: Want; 265let context: common.UIAbilityContext; 266 267export default class EntryAbility extends UIAbility { 268 onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) { 269 console.log('[Demo] EntryAbility onCreate'); 270 abilityWant = want; 271 context = this.context; 272 } 273 274 onDestroy() { 275 try { 276 if (listenerId !== -1) { 277 missionManager.off('mission', listenerId).catch((err: BusinessError) => { 278 console.log('$(err.code)'); 279 }); 280 } 281 } catch (paramError) { 282 let code = (paramError as BusinessError).code; 283 let message = (paramError as BusinessError).message; 284 console.error(`error: ${code}, ${message} `); 285 } 286 console.log('[Demo] EntryAbility onDestroy'); 287 } 288 289 onWindowStageCreate(windowStage: window.WindowStage) { 290 // Main window is created, set main page for this ability 291 console.log('[Demo] EntryAbility onWindowStageCreate'); 292 try { 293 listenerId = missionManager.on('mission', listener); 294 } catch (paramError) { 295 let code = (paramError as BusinessError).code; 296 let message = (paramError as BusinessError).message; 297 console.error(`error: ${code}, ${message} `); 298 } 299 300 windowStage.loadContent('pages/index', (err: BusinessError, data) => { 301 if (err.code) { 302 console.error(`Failed to load the content. Cause: ${JSON.stringify(err)}`); 303 return; 304 } 305 console.info(`Succeeded in loading the content. Data: ${JSON.stringify(data)}`); 306 }); 307 } 308}; 309``` 310 311 312## missionManager.getMissionInfo 313 314getMissionInfo(deviceId: string, missionId: number, callback: AsyncCallback<MissionInfo>): void; 315 316获取任务信息,以异步回调的方式返回任务信息。 317 318**需要权限**:ohos.permission.MANAGE_MISSIONS 319 320**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 321 322**系统API**: 此接口为系统接口,三方应用不支持调用。 323 324**参数:** 325 326 | 参数名 | 类型 | 必填 | 说明 | 327 | -------- | -------- | -------- | -------- | 328 | deviceId | string | 是 | 设备ID,本机默认为空字符串。 | 329 | missionId | number | 是 | 任务ID。 | 330 | callback | AsyncCallback<[MissionInfo](./js-apis-inner-application-missionInfo.md)> | 是 | 执行结果回调函数,返回任务信息。 | 331 332**示例:** 333 334 ```ts 335 import missionManager from '@ohos.app.ability.missionManager'; 336 import { BusinessError } from '@ohos.base'; 337 338 let testMissionId = 1; 339 340 missionManager.getMissionInfos('',10) 341 .then((allMissions) => { 342 try { 343 if (allMissions && allMissions.length > 0) { 344 testMissionId = allMissions[0].missionId; 345 } 346 347 missionManager.getMissionInfo('', testMissionId, (error, mission) => { 348 if (error) { 349 console.error('getMissionInfo failed, error.code: ${error.code}, error.message: ${error.message}'); 350 } else { 351 console.log('mission.missionId = ${mission.missionId}'); 352 console.log('mission.runningState = ${mission.runningState}'); 353 console.log('mission.lockedState = ${mission.lockedState}'); 354 console.log('mission.timestamp = ${mission.timestamp}'); 355 console.log('mission.label = ${mission.label}'); 356 console.log('mission.iconPath = ${mission.iconPath}'); 357 } 358 }); 359 } catch (paramError) { 360 let code = (paramError as BusinessError).code; 361 let message = (paramError as BusinessError).message; 362 console.error(`error: ${code}, ${message} `); 363 } 364 }) 365 .catch((err: BusinessError) => {console.log('$(err.code)');}); 366 ``` 367 368## missionManager.getMissionInfo 369 370getMissionInfo(deviceId: string, missionId: number): Promise<MissionInfo>; 371 372获取任务信息,以promise方式返回任务信息。 373 374**需要权限**:ohos.permission.MANAGE_MISSIONS 375 376**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 377 378**系统API**: 此接口为系统接口,三方应用不支持调用。 379 380**参数:** 381 382 | 参数名 | 类型 | 必填 | 说明 | 383 | -------- | -------- | -------- | -------- | 384 | deviceId | string | 是 | 设备ID,本机默认为空字符串。 | 385 | missionId | number | 是 | 任务ID。 | 386 387**返回值:** 388 389 | 类型 | 说明 | 390 | -------- | -------- | 391 | Promise<[MissionInfo](./js-apis-inner-application-missionInfo.md)> | 任务信息。 | 392 393**示例:** 394 395```ts 396import missionManager from '@ohos.app.ability.missionManager'; 397import { BusinessError } from '@ohos.base'; 398 399let testMissionId = 1; 400try { 401 missionManager.getMissionInfo('', testMissionId).then((data) => { 402 console.info(`getMissionInfo successfully. Data: ${JSON.stringify(data)}`); 403 }).catch((error: BusinessError) => { 404 console.error(`getMissionInfo failed. Cause: ${error.message}`); 405 }); 406} catch (error) { 407 console.error(`getMissionInfo failed. Cause: ${error.message}`); 408} 409``` 410 411## missionManager.getMissionInfos 412 413getMissionInfos(deviceId: string, numMax: number, callback: AsyncCallback<Array<MissionInfo>>): void; 414 415获取所有任务信息,以回调函数的方式返回任务信息数组。 416 417**需要权限**:ohos.permission.MANAGE_MISSIONS 418 419**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 420 421**系统API**: 此接口为系统接口,三方应用不支持调用。 422 423**参数:** 424 425 | 参数名 | 类型 | 必填 | 说明 | 426 | -------- | -------- | -------- | -------- | 427 | deviceId | string | 是 | 设备ID,本机默认为空字符串。 | 428 | numMax | number | 是 | 任务信息数量上限。 | 429 | callback | AsyncCallback<Array<[MissionInfo](./js-apis-inner-application-missionInfo.md)>> | 是 | 执行结果回调函数,返回任务信息数组。 | 430 431**示例:** 432 433 ```ts 434 import missionManager from '@ohos.app.ability.missionManager'; 435 import { BusinessError } from '@ohos.base'; 436 437 try { 438 missionManager.getMissionInfos('', 10, (error, missions) => { 439 if (error) { 440 console.error(`getMissionInfos failed, error.code: ${error.code}, error.message: ${error.message}`); 441 } else { 442 console.log(`size = ${missions.length}`); 443 console.log(`missions = ${JSON.stringify(missions)}`); 444 } 445 }); 446 } catch (paramError) { 447 let code = (paramError as BusinessError).code; 448 let message = (paramError as BusinessError).message; 449 console.error(`error: ${code}, ${message} `); 450 } 451 ``` 452 453 454## missionManager.getMissionInfos 455 456getMissionInfos(deviceId: string, numMax: number): Promise<Array<MissionInfo>>; 457 458获取所有任务信息,以promise的方式返回任务信息数组。 459 460**需要权限**:ohos.permission.MANAGE_MISSIONS 461 462**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 463 464**系统API**: 此接口为系统接口,三方应用不支持调用。 465 466**参数:** 467 468 | 参数名 | 类型 | 必填 | 说明 | 469 | -------- | -------- | -------- | -------- | 470 | deviceId | string | 是 | 设备ID,本机默认为空字符串。 | 471 | numMax | number | 是 | 任务信息数量上限。 | 472 473**返回值:** 474 475 | 类型 | 说明 | 476 | -------- | -------- | 477 | Promise<Array<[MissionInfo](./js-apis-inner-application-missionInfo.md)>> | 任务信息数组。 | 478 479**示例:** 480 481```ts 482import missionManager from '@ohos.app.ability.missionManager'; 483import { BusinessError } from '@ohos.base'; 484 485try { 486 missionManager.getMissionInfos('', 10).then((data) => { 487 console.info('getMissionInfos successfully. Data: ${JSON.stringify(data)}'); 488 }).catch((error: BusinessError) => { 489 console.error('getMissionInfos failed. Cause: ${error.message}'); 490 }); 491} catch (error) { 492 console.error('getMissionInfos failed. Cause: ${error.message}'); 493} 494``` 495 496## missionManager.getMissionSnapShot 497 498getMissionSnapShot(deviceId: string, missionId: number, callback: AsyncCallback<MissionSnapshot>): void; 499 500获取任务快照,以回调函数的方式返回快照内容。 501 502**需要权限**:ohos.permission.MANAGE_MISSIONS 503 504**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 505 506**系统API**: 此接口为系统接口,三方应用不支持调用。 507 508**参数:** 509 510 | 参数名 | 类型 | 必填 | 说明 | 511 | -------- | -------- | -------- | -------- | 512 | deviceId | string | 是 | 设备ID,本机默认为空字符串。 | 513 | missionId | number | 是 | 任务ID。 | 514 | callback | AsyncCallback<[MissionSnapshot](js-apis-inner-application-missionSnapshot.md)> | 是 | 执行结果回调函数,返回任务快照信息。 | 515 516**示例:** 517```ts 518import missionManager from '@ohos.app.ability.missionManager'; 519 520let testMissionId = 2; 521try { 522 missionManager.getMissionSnapShot('', testMissionId, (err, data) => { 523 if (err) { 524 console.error(`getMissionSnapShot failed: ${err.message}`); 525 } else { 526 console.info(`getMissionSnapShot successfully: ${JSON.stringify(data)}`); 527 } 528 }); 529} catch (err) { 530 console.error(`getMissionSnapShot failed: ${err.message}`); 531} 532``` 533 534## missionManager.getMissionSnapShot 535 536getMissionSnapShot(deviceId: string, missionId: number): Promise<MissionSnapshot>; 537 538获取任务快照,以promise的方式返回快照内容。 539 540**需要权限**:ohos.permission.MANAGE_MISSIONS 541 542**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 543 544**系统API**: 此接口为系统接口,三方应用不支持调用。 545 546**参数:** 547 548 | 参数名 | 类型 | 必填 | 说明 | 549 | -------- | -------- | -------- | -------- | 550 | deviceId | string | 是 | 设备ID,本机默认为空字符串。 | 551 | missionId | number | 是 | 任务ID。 | 552 553**返回值:** 554 555 | 类型 | 说明 | 556 | -------- | -------- | 557 | Promise<[MissionSnapshot](js-apis-inner-application-missionSnapshot.md)> | 任务快照信息。 | 558 559**示例:** 560```ts 561import missionManager from '@ohos.app.ability.missionManager'; 562import { BusinessError } from '@ohos.base'; 563 564let testMissionId = 2; 565try { 566 missionManager.getMissionSnapShot('', testMissionId).then((data) => { 567 console.info(`getMissionSnapShot successfully. Data: ${JSON.stringify(data)}`); 568 }).catch((error: BusinessError) => { 569 console.error(`getMissionSnapShot failed. Cause: ${error.message}`); 570 }); 571} catch (error) { 572 console.error(`getMissionSnapShot failed. Cause: ${error.message}`); 573} 574``` 575 576## missionManager.getLowResolutionMissionSnapShot 577 578getLowResolutionMissionSnapShot(deviceId: string, missionId: number, callback: AsyncCallback\<MissionSnapshot>): void; 579 580获取任务低分辨率快照。 581 582**需要权限**:ohos.permission.MANAGE_MISSIONS 583 584**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 585 586**系统API**: 此接口为系统接口,三方应用不支持调用。 587 588**参数:** 589 590 | 参数名 | 类型 | 必填 | 说明 | 591 | -------- | -------- | -------- | -------- | 592 | deviceId | string | 是 | 设备ID,本机默认为空字符串。 | 593 | missionId | number | 是 | 任务ID。 | 594 | callback | AsyncCallback<[MissionSnapshot](js-apis-inner-application-missionSnapshot.md)> | 是 | 执行结果回调函数,返回任务快照信息。 | 595 596**示例:** 597```ts 598import missionManager from '@ohos.app.ability.missionManager'; 599 600let testMissionId = 2; 601try { 602 missionManager.getLowResolutionMissionSnapShot('', testMissionId, (err, data) => { 603 if (err) { 604 console.error(`getLowResolutionMissionSnapShot failed: ${err.message}`); 605 } else { 606 console.info(`getLowResolutionMissionSnapShot successfully: ${JSON.stringify(data)}`); 607 } 608 }); 609} catch (err) { 610 console.error(`getLowResolutionMissionSnapShot failed: ${err.message}`); 611} 612``` 613 614## missionManager.getLowResolutionMissionSnapShot 615 616getLowResolutionMissionSnapShot(deviceId: string, missionId: number): Promise\<MissionSnapshot>; 617 618获取任务低分辨率快照。 619 620**需要权限**:ohos.permission.MANAGE_MISSIONS 621 622**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 623 624**系统API**: 此接口为系统接口,三方应用不支持调用。 625 626**参数:** 627 628 | 参数名 | 类型 | 必填 | 说明 | 629 | -------- | -------- | -------- | -------- | 630 | deviceId | string | 是 | 设备ID,本机默认为空字符串。 | 631 | missionId | number | 是 | 任务ID。 | 632 633**返回值:** 634 635 | 类型 | 说明 | 636 | -------- | -------- | 637 | Promise<[MissionSnapshot](js-apis-inner-application-missionSnapshot.md)> | 任务快照信息。 | 638 639**示例:** 640 641```ts 642import missionManager from '@ohos.app.ability.missionManager'; 643import { BusinessError } from '@ohos.base'; 644 645let testMissionId = 2; 646try { 647 missionManager.getLowResolutionMissionSnapShot('', testMissionId).then((data) => { 648 console.info(`getLowResolutionMissionSnapShot successfully. Data: ${JSON.stringify(data)}`); 649 }).catch((error: BusinessError) => { 650 console.error(`getLowResolutionMissionSnapShot failed. Cause: ${error.message}`); 651 }); 652} catch (error) { 653 console.error(`getLowResolutionMissionSnapShot failed. Cause: ${error.message}`); 654} 655``` 656 657 658## missionManager.lockMission 659 660lockMission(missionId: number, callback: AsyncCallback<void>): void; 661 662锁定指定任务id的任务,以回调函数的方式返回。 663 664**需要权限**:ohos.permission.MANAGE_MISSIONS 665 666**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 667 668**系统API**: 此接口为系统接口,三方应用不支持调用。 669 670**参数:** 671 672 | 参数名 | 类型 | 必填 | 说明 | 673 | -------- | -------- | -------- | -------- | 674 | missionId | number | 是 | 任务ID。 | 675 | callback | AsyncCallback<void> | 是 | 执行结果回调函数。 | 676 677**错误码**: 678 679| 错误码ID | 错误信息 | 680| ------- | -------- | 681| 16300001 | Mission not found. | 682 683以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。 684 685**示例:** 686 687```ts 688import missionManager from '@ohos.app.ability.missionManager'; 689 690let testMissionId = 2; 691try { 692 missionManager.lockMission(testMissionId, (err, data) => { 693 if (err) { 694 console.error(`lockMission failed: ${err.message}`); 695 } else { 696 console.info(`lockMission successfully: ${JSON.stringify(data)}`); 697 } 698 }); 699} catch (err) { 700 console.error(`lockMission failed: ${err.message}`); 701} 702``` 703 704## missionManager.lockMission 705 706lockMission(missionId: number): Promise<void>; 707 708锁定指定任务id的任务,以promise方式返回。 709 710**需要权限**:ohos.permission.MANAGE_MISSIONS 711 712**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 713 714**系统API**: 此接口为系统接口,三方应用不支持调用。 715 716**参数:** 717 718 | 参数名 | 类型 | 必填 | 说明 | 719 | -------- | -------- | -------- | -------- | 720 | missionId | number | 是 | 任务ID。 | 721 722**返回值:** 723 724 | 类型 | 说明 | 725 | -------- | -------- | 726 | Promise<void> | promise方式返回执行结果。 | 727 728**错误码**: 729 730| 错误码ID | 错误信息 | 731| ------- | -------- | 732| 16300001 | Mission not found. | 733 734以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。 735 736**示例:** 737```ts 738import missionManager from '@ohos.app.ability.missionManager'; 739import { BusinessError } from '@ohos.base'; 740 741let testMissionId = 2; 742try { 743 missionManager.lockMission(testMissionId).then((data) => { 744 console.info(`lockMission successfully. Data: ${JSON.stringify(data)}`); 745 }).catch((error: BusinessError) => { 746 console.error(`lockMission failed. Cause: ${error.message}`); 747 }); 748} catch (error) { 749 console.error(`lockMission failed. Cause: ${error.message}`); 750} 751``` 752 753## missionManager.unlockMission 754 755unlockMission(missionId: number, callback: AsyncCallback<void>): void; 756 757解锁指定任务id的任务,以回调函数的方式返回。 758 759**需要权限**:ohos.permission.MANAGE_MISSIONS 760 761**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 762 763**系统API**: 此接口为系统接口,三方应用不支持调用。 764 765**参数:** 766 767| 参数名 | 类型 | 必填 | 说明 | 768| -------- | -------- | -------- | -------- | 769| missionId | number | 是 | 任务ID。 | 770| callback | AsyncCallback<void> | 是 | 执行结果回调函数。 | 771 772**错误码**: 773 774| 错误码ID | 错误信息 | 775| ------- | -------- | 776| 16300001 | Mission not found. | 777 778以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。 779 780**示例:** 781```ts 782import missionManager from '@ohos.app.ability.missionManager'; 783 784let testMissionId = 2; 785try { 786 missionManager.unlockMission(testMissionId, (err, data) => { 787 if (err) { 788 console.error(`unlockMission failed: ${err.message}`); 789 } else { 790 console.info(`unlockMission successfully: ${JSON.stringify(data)}`); 791 } 792 }); 793} catch (err) { 794 console.error(`unlockMission failed: ${err.message}`); 795} 796``` 797 798## missionManager.unlockMission 799 800unlockMission(missionId: number): Promise<void>; 801 802解锁指定任务id的任务,以promise的方式返回。 803 804**需要权限**:ohos.permission.MANAGE_MISSIONS 805 806**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 807 808**系统API**: 此接口为系统接口,三方应用不支持调用。 809 810**参数:** 811 812 | 参数名 | 类型 | 必填 | 说明 | 813 | -------- | -------- | -------- | -------- | 814 | missionId | number | 是 | 任务ID。 | 815 816**返回值:** 817 818 | 类型 | 说明 | 819 | -------- | -------- | 820 | Promise<void> | promise方式返回执行结果。 | 821 822**错误码**: 823 824| 错误码ID | 错误信息 | 825| ------- | -------- | 826| 16300001 | Mission not found. | 827 828以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。 829 830**示例:** 831 832```ts 833import missionManager from '@ohos.app.ability.missionManager'; 834import { BusinessError } from '@ohos.base'; 835 836let testMissionId = 2; 837try { 838 missionManager.unlockMission(testMissionId).then((data) => { 839 console.info(`unlockMission successfully. Data: ${JSON.stringify(data)}`); 840 }).catch((error: BusinessError) => { 841 console.error(`unlockMission failed. Cause: ${error.message}`); 842 }); 843} catch (error) { 844 console.error(`unlockMission failed. Cause: ${error.message}`); 845} 846``` 847 848## missionManager.clearMission 849 850clearMission(missionId: number, callback: AsyncCallback<void>): void; 851 852清理指定任务id的任务,无论该任务是否被锁定,以回调函数的方式返回。 853 854**需要权限**:ohos.permission.MANAGE_MISSIONS 855 856**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 857 858**系统API**: 此接口为系统接口,三方应用不支持调用。 859 860**参数:** 861 862 | 参数名 | 类型 | 必填 | 说明 | 863 | -------- | -------- | -------- | -------- | 864 | missionId | number | 是 | 任务ID。 | 865 | callback | AsyncCallback<void> | 是 | 执行结果回调函数。 | 866 867**示例:** 868 869```ts 870import missionManager from '@ohos.app.ability.missionManager'; 871 872let testMissionId = 2; 873try { 874 missionManager.clearMission(testMissionId, (err, data) => { 875 if (err) { 876 console.error(`clearMission failed: ${err.message}`); 877 } else { 878 console.info(`clearMission successfully: ${JSON.stringify(data)}`); 879 } 880 }); 881} catch (err) { 882 console.error(`clearMission failed: ${err.message}`); 883} 884``` 885 886 887## missionManager.clearMission 888 889clearMission(missionId: number): Promise<void>; 890 891清理指定任务id的任务,无论该任务是否被锁定,以promise的方式返回。 892 893**需要权限**:ohos.permission.MANAGE_MISSIONS 894 895**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 896 897**系统API**: 此接口为系统接口,三方应用不支持调用。 898 899**参数:** 900 901 | 参数名 | 类型 | 必填 | 说明 | 902 | -------- | -------- | -------- | -------- | 903 | missionId | number | 是 | 任务ID。 | 904 905**返回值:** 906 907 | 类型 | 说明 | 908 | -------- | -------- | 909 | Promise<void> | promise方式返回执行结果。 | 910 911**示例:** 912 913```ts 914import missionManager from '@ohos.app.ability.missionManager'; 915import { BusinessError } from '@ohos.base'; 916 917let testMissionId = 2; 918try { 919 missionManager.clearMission(testMissionId).then((data) => { 920 console.info(`clearMission successfully. Data: ${JSON.stringify(data)}`); 921 }).catch((error: BusinessError) => { 922 console.error(`clearMission failed. Cause: ${error.message}`); 923 }); 924} catch (error) { 925 console.error(`clearMission failed. Cause: ${error.message}`); 926} 927``` 928 929## missionManager.clearAllMissions 930 931clearAllMissions(callback: AsyncCallback<void>): void; 932 933清理所有未锁定的任务,以回调函数的方式返回。 934 935**需要权限**:ohos.permission.MANAGE_MISSIONS 936 937**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 938 939**系统API**: 此接口为系统接口,三方应用不支持调用。 940 941**示例:** 942 943```ts 944import missionManager from '@ohos.app.ability.missionManager'; 945 946try { 947 missionManager.clearAllMissions(err => { 948 if (err) { 949 console.error('clearAllMissions failed: ${err.message}'); 950 } else { 951 console.info('clearAllMissions successfully.'); 952 } 953 }); 954} catch (err) { 955 console.error('clearAllMissions failed: ${err.message}'); 956} 957``` 958 959## missionManager.clearAllMissions 960 961clearAllMissions(): Promise<void>; 962 963清理所有未锁定的任务,以promise的方式返回。 964 965**需要权限**:ohos.permission.MANAGE_MISSIONS 966 967**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 968 969**系统API**: 此接口为系统接口,三方应用不支持调用。 970 971**返回值:** 972 973 | 类型 | 说明 | 974 | -------- | -------- | 975 | Promise<void> | promise方式返回执行结果。 | 976 977**示例:** 978 979```ts 980import missionManager from '@ohos.app.ability.missionManager'; 981import { BusinessError } from '@ohos.base'; 982 983try { 984 missionManager.clearAllMissions().then((data) => { 985 console.info(`clearAllMissions successfully. Data: ${JSON.stringify(data)}`); 986 }).catch((err: BusinessError) => { 987 console.error(`clearAllMissions failed: ${err.message}`); 988 }); 989} catch (err) { 990 console.error(`clearAllMissions failed: ${err.message}`); 991} 992``` 993 994## missionManager.moveMissionToFront 995 996moveMissionToFront(missionId: number, callback: AsyncCallback<void>): void; 997 998把指定任务id的任务切到前台,以回调函数的方式返回。 999 1000**需要权限**:ohos.permission.MANAGE_MISSIONS 1001 1002**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 1003 1004**系统API**: 此接口为系统接口,三方应用不支持调用。 1005 1006**参数:** 1007 1008 | 参数名 | 类型 | 必填 | 说明 | 1009 | -------- | -------- | -------- | -------- | 1010 | missionId | number | 是 | 任务ID。 | 1011 | callback | AsyncCallback<void> | 是 | 执行结果回调函数。 | 1012 1013**错误码**: 1014 1015| 错误码ID | 错误信息 | 1016| ------- | -------- | 1017| 16000009 | An ability cannot be started or stopped in Wukong mode. | 1018 1019以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。 1020 1021**示例:** 1022 1023```ts 1024import missionManager from '@ohos.app.ability.missionManager'; 1025 1026let testMissionId = 2; 1027try { 1028 missionManager.moveMissionToFront(testMissionId, (err, data) => { 1029 if (err) { 1030 console.error(`moveMissionToFront failed: ${err.message}`); 1031 } else { 1032 console.info(`moveMissionToFront successfully: ${JSON.stringify(data)}`); 1033 } 1034 }); 1035} catch (err) { 1036 console.error(`moveMissionToFront failed: ${err.message}`); 1037} 1038``` 1039 1040## missionManager.moveMissionToFront 1041 1042moveMissionToFront(missionId: number, options: StartOptions, callback: AsyncCallback<void>): void; 1043 1044把指定任务id的任务切到前台,同时指定任务切换到前台时的启动参数,例如窗口模式、设备ID等,以回调函数的方式返回。 1045 1046**需要权限**:ohos.permission.MANAGE_MISSIONS 1047 1048**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 1049 1050**系统API**: 此接口为系统接口,三方应用不支持调用。 1051 1052**参数:** 1053 1054 | 参数名 | 类型 | 必填 | 说明 | 1055 | -------- | -------- | -------- | -------- | 1056 | missionId | number | 是 | 任务ID。 | 1057 | options | [StartOptions](js-apis-app-ability-startOptions.md) | 是 | 启动参数选项,用于指定任务切到前台时的窗口模式,设备ID等。 | 1058 | callback | AsyncCallback<void> | 是 | 执行结果回调函数。 | 1059 1060**错误码**: 1061 1062| 错误码ID | 错误信息 | 1063| ------- | -------- | 1064| 16000009 | An ability cannot be started or stopped in Wukong mode. | 1065 1066以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。 1067 1068**示例:** 1069 1070```ts 1071import missionManager from '@ohos.app.ability.missionManager'; 1072 1073let testMissionId = 2; 1074try { 1075 missionManager.moveMissionToFront(testMissionId, {windowMode : 101}, (err, data) => { 1076 if (err) { 1077 console.error(`moveMissionToFront failed: ${err.message}`); 1078 } else { 1079 console.info(`moveMissionToFront successfully: ${JSON.stringify(data)}`); 1080 } 1081 }); 1082} catch (err) { 1083 console.error(`moveMissionToFront failed: ${err.message}`); 1084} 1085``` 1086 1087## missionManager.moveMissionToFront 1088 1089moveMissionToFront(missionId: number, options?: StartOptions): Promise<void>; 1090 1091把指定任务id的任务切到前台,同时指定任务切换到前台时的启动参数,例如窗口模式、设备ID等,以promise的方式返回。 1092 1093**需要权限**:ohos.permission.MANAGE_MISSIONS 1094 1095**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 1096 1097**系统API**: 此接口为系统接口,三方应用不支持调用。 1098 1099**参数:** 1100 1101 | 参数名 | 类型 | 必填 | 说明 | 1102 | -------- | -------- | -------- | -------- | 1103 | missionId | number | 是 | 任务ID。 | 1104 | options | [StartOptions](js-apis-app-ability-startOptions.md) | 否 | 启动参数选项,用于指定任务切到前台时的窗口模式,设备ID等。默认为空,表示按照默认启动参数。 | 1105 1106**返回值:** 1107 1108 | 类型 | 说明 | 1109 | -------- | -------- | 1110 | Promise<void> | promise方式返回执行结果。 | 1111 1112**错误码**: 1113 1114| 错误码ID | 错误信息 | 1115| ------- | -------- | 1116| 16000009 | An ability cannot be started or stopped in Wukong mode. | 1117 1118以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。 1119 1120**示例:** 1121 1122```ts 1123import missionManager from '@ohos.app.ability.missionManager'; 1124import { BusinessError } from '@ohos.base'; 1125 1126let testMissionId = 2; 1127try { 1128 missionManager.moveMissionToFront(testMissionId).then((data) => { 1129 console.info(`moveMissionToFront successfully. Data: ${JSON.stringify(data)}`); 1130 }).catch((error: BusinessError) => { 1131 console.error(`moveMissionToFront failed. Cause: ${error.message}`); 1132 }); 1133} catch (error) { 1134 console.error(`moveMissionToFront failed. Cause: ${error.message}`); 1135} 1136``` 1137 1138## missionManager.moveMissionsToForeground<sup>10+</sup> 1139 1140moveMissionsToForeground(missionIds: Array<number>, callback: AsyncCallback<void>): void; 1141 1142将指定任务批量切到前台,以回调函数的方式返回。 1143 1144**需要权限**:ohos.permission.MANAGE_MISSIONS 1145 1146**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 1147 1148**系统接口**: 此接口为系统接口。 1149 1150**参数:** 1151 1152 | 参数名 | 类型 | 必填 | 说明 | 1153 | -------- | -------- | -------- | -------- | 1154 | missionIds | Array<number> | 是 | 任务ID数组。 | 1155 | callback | AsyncCallback<void> | 是 | 执行结果回调函数。 | 1156 1157**错误码**: 1158 1159以下错误码的详细介绍请参见[errcode-ability](../errorcodes/errorcode-ability.md)。 1160 1161| 错误码ID | 错误信息 | 1162| ------- | -------- | 1163| 16000050 | Internal error. | 1164 1165**示例:** 1166 1167```ts 1168import abilityManager from '@ohos.app.ability.abilityManager'; 1169import missionManager from '@ohos.app.ability.missionManager'; 1170import { BusinessError } from '@ohos.base'; 1171 1172try { 1173 missionManager.getMissionInfos("", 10, (error, missionInfos) => { 1174 if (error.code) { 1175 console.log("getMissionInfos failed, error.code:" + JSON.stringify(error.code)); 1176 return; 1177 } 1178 if (missionInfos.length < 1) { 1179 return; 1180 } 1181 1182 let toShows = new Array<number>(); 1183 for (let missionInfo of missionInfos) { 1184 if (missionInfo.abilityState == abilityManager.AbilityState.BACKGROUND) { 1185 toShows.push(missionInfo.missionId); 1186 } 1187 } 1188 missionManager.moveMissionsToForeground(toShows, (err, data) => { 1189 if (err) { 1190 console.error(`moveMissionsToForeground failed: ${err.message}`); 1191 } else { 1192 console.info(`moveMissionsToForeground successfully: ${JSON.stringify(data)}`); 1193 } 1194 }); 1195 }); 1196} catch (paramError) { 1197 let code = (paramError as BusinessError).code; 1198 let message = (paramError as BusinessError).message; 1199 console.error(`error: ${code}, ${message} `); 1200} 1201 1202``` 1203 1204## missionManager.moveMissionsToForeground<sup>10+</sup> 1205 1206moveMissionsToForeground(missionIds: Array<number>, topMission: number, callback: AsyncCallback<void>): void; 1207 1208将指定任务批量切换到前台,并将任务ID等于topMission的任务移动到最顶层,以回调函数的方式返回。 1209 1210**需要权限**:ohos.permission.MANAGE_MISSIONS 1211 1212**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 1213 1214**系统接口**: 此接口为系统接口。 1215 1216**参数:** 1217 1218 | 参数名 | 类型 | 必填 | 说明 | 1219 | -------- | -------- | -------- | -------- | 1220 | missionIds | Array<number> | 是 | 任务ID数组。 | 1221 | topMission | number | 是 | 待移动到最顶层的任务ID | 1222 | callback | AsyncCallback<void> | 是 | 执行结果回调函数。 | 1223 1224**错误码**: 1225 1226以下错误码的详细介绍请参见[errcode-ability](../errorcodes/errorcode-ability.md)。 1227 1228| 错误码ID | 错误信息 | 1229| ------- | -------- | 1230| 16000050 | Internal error. | 1231 1232**示例:** 1233 1234```ts 1235import abilityManager from '@ohos.app.ability.abilityManager'; 1236import missionManager from '@ohos.app.ability.missionManager'; 1237import { BusinessError } from '@ohos.base'; 1238 1239try { 1240 missionManager.getMissionInfos("", 10, (error, missionInfos) => { 1241 if (error.code) { 1242 console.log("getMissionInfos failed, error.code:" + JSON.stringify(error.code)); 1243 return; 1244 } 1245 if (missionInfos.length < 1) { 1246 return; 1247 } 1248 1249 let toShows = new Array<number>(); 1250 for (let missionInfo of missionInfos) { 1251 if (missionInfo.abilityState == abilityManager.AbilityState.BACKGROUND) { 1252 toShows.push(missionInfo.missionId); 1253 } 1254 } 1255 missionManager.moveMissionsToForeground(toShows, toShows[0], (err, data) => { 1256 if (err) { 1257 console.error(`moveMissionsToForeground failed: ${err.message}`); 1258 } else { 1259 console.info(`moveMissionsToForeground successfully: ${JSON.stringify(data)}`); 1260 } 1261 }); 1262 }); 1263} catch (paramError) { 1264 let code = (paramError as BusinessError).code; 1265 let message = (paramError as BusinessError).message; 1266 console.error(`error: ${code}, ${message} `); 1267} 1268 1269``` 1270 1271## missionManager.moveMissionsToForeground<sup>10+</sup> 1272 1273moveMissionsToForeground(missionIds: Array<number>, topMission?: number): Promise<void>; 1274 1275将指定任务批量切到前台,并将任务ID等于topMission的任务移动到最顶层,以promise的方式返回。 1276 1277**需要权限**:ohos.permission.MANAGE_MISSIONS 1278 1279**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 1280 1281**系统接口**: 此接口为系统接口。 1282 1283**参数:** 1284 1285 | 参数名 | 类型 | 必填 | 说明 | 1286 | -------- | -------- | -------- | -------- | 1287 | missionIds | Array<number> | 是 | 任务ID数组。 | 1288 | topMission | number | 否 | 待移动到最顶层的任务ID。默认值为-1,表示将默认任务移动到最顶层。 | 1289 1290**返回值:** 1291 1292 | 类型 | 说明 | 1293 | -------- | -------- | 1294 | Promise<void> | promise方式返回执行结果。 | 1295 1296**错误码**: 1297 1298以下错误码的详细介绍请参见[errcode-ability](../errorcodes/errorcode-ability.md)。 1299 1300| 错误码ID | 错误信息 | 1301| ------- | -------- | 1302| 16000050 | Internal error. | 1303 1304**示例:** 1305 1306```ts 1307import abilityManager from '@ohos.app.ability.abilityManager'; 1308import missionManager from '@ohos.app.ability.missionManager'; 1309import { BusinessError } from '@ohos.base'; 1310 1311try { 1312 missionManager.getMissionInfos("", 10, (error, missionInfos) => { 1313 if (error.code) { 1314 console.log("getMissionInfos failed, error.code:" + JSON.stringify(error.code)); 1315 return; 1316 } 1317 if (missionInfos.length < 1) { 1318 return; 1319 } 1320 1321 let toShows = new Array<number>(); 1322 for (let missionInfo of missionInfos) { 1323 if (missionInfo.abilityState == abilityManager.AbilityState.BACKGROUND) { 1324 toShows.push(missionInfo.missionId); 1325 } 1326 } 1327 missionManager.moveMissionsToForeground(toShows, toShows[0]).then(() => { 1328 console.log("moveMissionsToForeground is called" ); 1329 }); 1330 }); 1331} catch (paramError) { 1332 let code = (paramError as BusinessError).code; 1333 let message = (paramError as BusinessError).message; 1334 console.error(`error: ${code}, ${message} `); 1335} 1336 1337``` 1338 1339## missionManager.moveMissionsToBackground<sup>10+</sup> 1340 1341moveMissionsToBackground(missionIds: Array<number>, callback: AsyncCallback<Array<number>>): void; 1342 1343将指定任务批量切到后台,以回调函数的方式返回, 返回的结果任务ID按被隐藏时的任务层级排序。 1344 1345**需要权限**:ohos.permission.MANAGE_MISSIONS 1346 1347**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 1348 1349**系统接口**: 此接口为系统接口。 1350 1351**参数:** 1352 1353 | 参数名 | 类型 | 必填 | 说明 | 1354 | -------- | -------- | -------- | -------- | 1355 | missionIds | Array<number> | 是 | 任务ID数组。 | 1356 | callback | AsyncCallback<Array<number>> | 是 | 执行结果回调函数。 | 1357 1358**错误码**: 1359 1360以下错误码的详细介绍请参见[errcode-ability](../errorcodes/errorcode-ability.md)。 1361 1362| 错误码ID | 错误信息 | 1363| ------- | -------- | 1364| 16000050 | Internal error. | 1365 1366**示例:** 1367 1368```ts 1369import abilityManager from '@ohos.app.ability.abilityManager'; 1370import missionManager from '@ohos.app.ability.missionManager'; 1371import { BusinessError } from '@ohos.base'; 1372 1373try { 1374 missionManager.getMissionInfos("", 10, (error, missionInfos) => { 1375 if (error.code) { 1376 console.log("getMissionInfos failed, error.code:" + JSON.stringify(error.code)); 1377 return; 1378 } 1379 1380 let toHides = new Array<number>(); 1381 for (let missionInfo of missionInfos) { 1382 if (missionInfo.abilityState == abilityManager.AbilityState.FOREGROUND) { 1383 toHides.push(missionInfo.missionId); 1384 } 1385 } 1386 missionManager.moveMissionsToBackground(toHides, (err, data) => { 1387 if (err) { 1388 console.error(`moveMissionsToBackground failed: ${err.message}`); 1389 } else { 1390 console.info(`moveMissionsToBackground successfully: ${JSON.stringify(data)}`); 1391 } 1392 }); 1393 }); 1394} catch (paramError) { 1395 let code = (paramError as BusinessError).code; 1396 let message = (paramError as BusinessError).message; 1397 console.error(`error: ${code}, ${message} `); 1398} 1399``` 1400 1401## missionManager.moveMissionsToBackground<sup>10+</sup> 1402 1403moveMissionsToBackground(missionIds : Array<number>): Promise<Array<number>>; 1404 1405将指定任务批量切到后台,以promise的方式返回, 返回的结果按被隐藏时的任务层级排序。 1406 1407**需要权限**:ohos.permission.MANAGE_MISSIONS 1408 1409**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 1410 1411**系统接口**: 此接口为系统接口。 1412 1413**参数:** 1414 1415 | 参数名 | 类型 | 必填 | 说明 | 1416 | -------- | -------- | -------- | -------- | 1417 | missionIds | Array<number> | 是 | 任务ID数组。 | 1418 1419**返回值:** 1420 1421 | 类型 | 说明 | 1422 | -------- | -------- | 1423 | Promise<Array<number>> | promise方式返回执行结果。 | 1424 1425**错误码**: 1426 1427以下错误码的详细介绍请参见[errcode-ability](../errorcodes/errorcode-ability.md)。 1428 1429| 错误码ID | 错误信息 | 1430| ------- | -------- | 1431| 16000050 | Internal error. | 1432 1433**示例:** 1434 1435```ts 1436import abilityManager from '@ohos.app.ability.abilityManager'; 1437import missionManager from '@ohos.app.ability.missionManager'; 1438import { BusinessError } from '@ohos.base'; 1439 1440try { 1441 missionManager.getMissionInfos("", 10, (error, missionInfos) => { 1442 if (error.code) { 1443 console.log("getMissionInfos failed, error.code:" + JSON.stringify(error.code)); 1444 return; 1445 } 1446 1447 let toHides = new Array<number>(); 1448 for (let missionInfo of missionInfos) { 1449 if (missionInfo.abilityState == abilityManager.AbilityState.FOREGROUND) { 1450 toHides.push(missionInfo.missionId); 1451 } 1452 } 1453 missionManager.moveMissionsToBackground(toHides).then((hideRes) => { 1454 console.log("moveMissionsToBackground is called, res: "+ JSON.stringify(hideRes)); 1455 }); 1456 }); 1457} catch (paramError) { 1458 let code = (paramError as BusinessError).code; 1459 let message = (paramError as BusinessError).message; 1460 console.error(`error: ${code}, ${message} `); 1461} 1462 1463```