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