1# AbilityDelegator 2 3AbilityDelegator提供添加用于监视指定ability的生命周期状态更改的AbilityMonitor对象的能力,包括对AbilityMonitor实例的添加、删除、等待ability到达OnCreate生命周期、设置等待时间等、获取指定ability的生命周期状态、获取当前应用顶部ability、启动指定ability等。 4 5> **说明:** 6> 7> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9## 使用说明 10 11通过AbilityDelegatorRegistry中[getAbilityDelegator](js-apis-app-ability-abilityDelegatorRegistry.md#abilitydelegatorregistrygetabilitydelegator)方法获取。 12```ts 13import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry'; 14``` 15 16## AbilityDelegator 17 18### addAbilityMonitor<sup>9+</sup> 19 20addAbilityMonitor(monitor: AbilityMonitor, callback: AsyncCallback\<void>): void; 21 22添加AbilityMonitor实例(callback形式) 23 24**系统能力:**SystemCapability.Ability.AbilityRuntime.Core 25 26**参数:** 27 28| 参数名 | 类型 | 必填 | 说明 | 29| -------- | ------------------------------------------------------------ | -------- | ------------------------------------------------------------ | 30| monitor | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor)实例 | 31| callback | AsyncCallback\<void> | 是 | 表示指定的回调方法 | 32 33**示例:** 34 35```ts 36let abilityDelegator; 37 38function onAbilityCreateCallback(data) { 39 console.info('onAbilityCreateCallback'); 40} 41 42let monitor = { 43 abilityName: 'abilityname', 44 onAbilityCreate: onAbilityCreateCallback 45}; 46 47abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 48abilityDelegator.addAbilityMonitor(monitor, (err : any) => { 49 console.info('addAbilityMonitor callback'); 50}); 51``` 52 53### addAbilityMonitor<sup>9+</sup> 54 55addAbilityMonitor(monitor: AbilityMonitor): Promise\<void>; 56 57添加AbilityMonitor实例(promise形式) 58 59**系统能力:** SystemCapability.Ability.AbilityRuntime.Core 60 61**参数:** 62 63| 参数名 | 类型 | 必填 | 说明 | 64| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 65| monitor | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor)实例 | 66 67**返回值:** 68 69| 类型 | 说明 | 70| -------------- | ------------------- | 71| Promise\<void> | 以Promise形式返回。 | 72 73**示例:** 74 75```ts 76let abilityDelegator; 77 78function onAbilityCreateCallback(data) { 79 console.info('onAbilityCreateCallback'); 80} 81 82let monitor = { 83 abilityName: 'abilityname', 84 onAbilityCreate: onAbilityCreateCallback 85}; 86 87abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 88abilityDelegator.addAbilityMonitor(monitor).then(() => { 89 console.info('addAbilityMonitor promise'); 90}); 91``` 92 93 94 95### removeAbilityMonitor<sup>9+</sup> 96 97removeAbilityMonitor(monitor: AbilityMonitor, callback: AsyncCallback\<void>): void; 98 99删除已经添加的AbilityMonitor实例(callback形式) 100 101**系统能力:** SystemCapability.Ability.AbilityRuntime.Core 102 103**参数:** 104 105| 参数名 | 类型 | 必填 | 说明 | 106| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 107| monitor | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor)实例 | 108| callback | AsyncCallback\<void> | 是 | 表示指定的回调方法 | 109 110**示例:** 111 112```ts 113let abilityDelegator; 114 115function onAbilityCreateCallback(data) { 116 console.info('onAbilityCreateCallback'); 117} 118 119let monitor = { 120 abilityName: 'abilityname', 121 onAbilityCreate: onAbilityCreateCallback 122}; 123 124abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 125abilityDelegator.removeAbilityMonitor(monitor, (err : any) => { 126 console.info('removeAbilityMonitor callback'); 127}); 128``` 129 130 131 132### removeAbilityMonitor<sup>9+</sup> 133 134removeAbilityMonitor(monitor: AbilityMonitor): Promise\<void>; 135 136删除已经添加的AbilityMonitor实例(promise形式) 137 138**系统能力:** SystemCapability.Ability.AbilityRuntime.Core 139 140**参数:** 141 142| 参数名 | 类型 | 必填 | 说明 | 143| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 144| monitor | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor)实例 | 145 146**返回值:** 147 148| 类型 | 说明 | 149| -------------- | ------------------- | 150| Promise\<void> | 以Promise形式返回。 | 151 152- 示例 153 154```ts 155let abilityDelegator; 156 157function onAbilityCreateCallback(data) { 158 console.info('onAbilityCreateCallback'); 159} 160 161let monitor = { 162 abilityName: 'abilityname', 163 onAbilityCreate: onAbilityCreateCallback 164}; 165 166abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 167abilityDelegator.removeAbilityMonitor(monitor).then(() => { 168 console.info('removeAbilityMonitor promise'); 169}); 170``` 171 172 173 174### waitAbilityMonitor<sup>9+</sup> 175 176waitAbilityMonitor(monitor: AbilityMonitor, callback: AsyncCallback\<UIAbility>): void; 177 178等待与AbilityMonitor实例匹配的ability到达OnCreate生命周期,并返回ability实例(callback形式) 179 180**系统能力:** SystemCapability.Ability.AbilityRuntime.Core 181 182**参数:** 183 184| 参数名 | 类型 | 必填 | 说明 | 185| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 186| monitor | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor)实例 | 187| callback | AsyncCallback\<[UIAbility](js-apis-app-ability-uiAbility.md)> | 是 | 表示指定的回调方法 | 188 189**示例:** 190 191```ts 192let abilityDelegator; 193 194function onAbilityCreateCallback(data) { 195 console.info('onAbilityCreateCallback'); 196} 197 198let monitor = { 199 abilityName: 'abilityname', 200 onAbilityCreate: onAbilityCreateCallback 201}; 202 203abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 204abilityDelegator.waitAbilityMonitor(monitor, (err : any, data : any) => { 205 console.info('waitAbilityMonitor callback'); 206}); 207``` 208 209### waitAbilityMonitor<sup>9+</sup> 210 211waitAbilityMonitor(monitor: AbilityMonitor, timeout: number, callback: AsyncCallback\<UIAbility>): void; 212 213设置等待时间,等待与AbilityMonitor实例匹配的ability到达OnCreate生命周期,并返回ability实例(callback形式) 214 215**系统能力:** SystemCapability.Ability.AbilityRuntime.Core 216 217**参数:** 218 219| 参数名 | 类型 | 必填 | 说明 | 220| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 221| monitor | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor)实例 | 222| timeout | number | 否 | 最大等待时间,单位毫秒(ms) | 223| callback | AsyncCallback\<[UIAbility](js-apis-app-ability-uiAbility.md)> | 是 | 表示指定的回调方法 | 224 225**示例:** 226 227```ts 228let abilityDelegator; 229let timeout = 100; 230 231function onAbilityCreateCallback(data) { 232 console.info('onAbilityCreateCallback'); 233} 234 235let monitor = { 236 abilityName: 'abilityname', 237 onAbilityCreate: onAbilityCreateCallback 238}; 239 240abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 241abilityDelegator.waitAbilityMonitor(monitor, timeout, (err : any, data : any) => { 242 console.info('waitAbilityMonitor callback'); 243}); 244``` 245 246 247 248### waitAbilityMonitor<sup>9+</sup> 249 250waitAbilityMonitor(monitor: AbilityMonitor, timeout?: number): Promise\<UIAbility>; 251 252设置等待时间,等待与AbilityMonitor实例匹配的ability到达OnCreate生命周期,并返回ability实例(promise形式) 253 254**系统能力:** SystemCapability.Ability.AbilityRuntime.Core 255 256**参数:** 257 258| 参数名 | 类型 | 必填 | 说明 | 259| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 260| monitor | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor)实例 | 261| timeout | number | 否 | 最大等待时间,单位毫秒(ms) | 262 263**返回值:** 264 265| 类型 | 说明 | 266| ----------------------------------------------------------- | -------------------------- | 267| Promise\<[UIAbility](js-apis-app-ability-uiAbility.md)> | 以Promise形式返回Ability。 | 268 269**示例:** 270 271```ts 272let abilityDelegator; 273 274function onAbilityCreateCallback(data) { 275 console.info('onAbilityCreateCallback'); 276} 277 278let monitor = { 279 abilityName: 'abilityname', 280 onAbilityCreate: onAbilityCreateCallback 281}; 282 283abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 284abilityDelegator.waitAbilityMonitor(monitor).then((data : any) => { 285 console.info('waitAbilityMonitor promise'); 286}); 287``` 288 289 290 291### getAppContext<sup>9+</sup> 292 293getAppContext(): Context; 294 295获取应用Context 296 297**系统能力:** SystemCapability.Ability.AbilityRuntime.Core 298 299**返回值:** 300 301| 类型 | 说明 | 302| ------------------------------------- | ------------------------------------------- | 303| [Context](js-apis-inner-application-context.md) | 应用[Context](js-apis-inner-application-context.md)。 | 304 305**示例:** 306 307```ts 308let abilityDelegator; 309 310abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 311let context = abilityDelegator.getAppContext(); 312``` 313 314 315 316### getAbilityState<sup>9+</sup> 317 318getAbilityState(ability: UIAbility): number; 319 320获取指定ability的生命周期状态 321 322**系统能力:** SystemCapability.Ability.AbilityRuntime.Core 323 324**参数:** 325 326| 参数名 | 类型 | 必填 | 说明 | 327| ------- | ------------------------------------------------- | ---- | --------------- | 328| ability | [UIAbility](js-apis-app-ability-uiAbility.md) | 是 | 指定Ability对象 | 329 330**返回值:** 331 332| 类型 | 说明 | 333| ------ | ------------------------------------------------------------ | 334| number | 指定ability的生命周期状态。状态枚举值使用[AbilityLifecycleState](js-apis-application-abilityDelegatorRegistry.md#AbilityLifecycleState)。 | 335 336**示例:** 337 338```ts 339let abilityDelegator; 340let ability; 341 342abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 343abilityDelegator.getCurrentTopAbility((err : any, data : any) => { 344 console.info('getCurrentTopAbility callback'); 345 ability = data; 346 let state = abilityDelegator.getAbilityState(ability); 347 console.info('getAbilityState' + state); 348}); 349``` 350 351 352 353### getCurrentTopAbility<sup>9+</sup> 354 355getCurrentTopAbility(callback: AsyncCallback\<UIAbility>): void; 356 357获取当前应用顶部ability(callback形式) 358 359**系统能力:** SystemCapability.Ability.AbilityRuntime.Core 360 361**参数:** 362 363| 参数名 | 类型 | 必填 | 说明 | 364| -------- | ------------------------------------------------------------ | ---- | ------------------ | 365| callback | AsyncCallback\<[UIAbility](js-apis-app-ability-uiAbility.md)> | 是 | 表示指定的回调方法 | 366 367**示例:** 368 369```ts 370let abilityDelegator; 371let ability; 372 373abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 374abilityDelegator.getCurrentTopAbility((err : any, data : any) => { 375 console.info('getCurrentTopAbility callback'); 376 ability = data; 377}); 378``` 379 380 381 382### getCurrentTopAbility<sup>9+</sup> 383 384getCurrentTopAbility(): Promise\<UIAbility>; 385 386获取当前应用顶部ability(promise形式) 387 388**系统能力:** SystemCapability.Ability.AbilityRuntime.Core 389 390**返回值:** 391 392| 类型 | 说明 | 393| ----------------------------------------------------------- | -------------------------------------- | 394| Promise\<[UIAbility](js-apis-app-ability-uiAbility.md)> | 以Promise形式返回当前应用顶部ability。 | 395 396**示例:** 397 398```ts 399let abilityDelegator; 400let ability; 401 402abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 403abilityDelegator.getCurrentTopAbility().then((data : any) => { 404 console.info('getCurrentTopAbility promise'); 405 ability = data; 406}); 407``` 408 409 410 411### startAbility<sup>9+</sup> 412 413startAbility(want: Want, callback: AsyncCallback\<void>): void; 414 415启动指定ability(callback形式) 416 417**系统能力:** SystemCapability.Ability.AbilityRuntime.Core 418 419**参数:** 420 421| 参数名 | 类型 | 必填 | 说明 | 422| -------- | -------------------------------------- | ---- | ------------------ | 423| want | [Want](js-apis-application-want.md) | 是 | 启动Ability参数 | 424| callback | AsyncCallback\<void> | 是 | 表示指定的回调方法 | 425 426**示例:** 427 428```ts 429let abilityDelegator; 430let want = { 431 bundleName: 'bundleName', 432 abilityName: 'abilityName' 433}; 434 435abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 436abilityDelegator.startAbility(want, (err : any, data : any) => { 437 console.info('startAbility callback'); 438}); 439``` 440 441 442 443### startAbility<sup>9+</sup> 444 445startAbility(want: Want): Promise\<void>; 446 447启动指定ability(promise形式) 448 449**系统能力:** SystemCapability.Ability.AbilityRuntime.Core 450 451**参数:** 452 453| 参数名 | 类型 | 必填 | 说明 | 454| ------ | -------------------------------------- | ---- | --------------- | 455| want | [Want](js-apis-application-want.md) | 是 | 启动Ability参数 | 456 457**返回值:** 458 459| 类型 | 说明 | 460| -------------- | ------------------- | 461| Promise\<void> | 以Promise形式返回。 | 462 463**示例:** 464 465```ts 466let abilityDelegator; 467let want = { 468 bundleName: 'bundleName', 469 abilityName: 'abilityName' 470}; 471 472abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 473abilityDelegator.startAbility(want).then((data: any) => { 474 console.info('startAbility promise'); 475}); 476``` 477 478 479 480### doAbilityForeground<sup>9+</sup> 481 482doAbilityForeground(ability: UIAbility, callback: AsyncCallback\<void>): void; 483 484调度指定ability生命周期状态到Foreground状态(callback形式) 485 486**系统能力:** SystemCapability.Ability.AbilityRuntime.Core 487 488**参数:** 489 490| 参数名 | 类型 | 必填 | 说明 | 491| -------- | ----------------------- | ---- | ------------------------------------------------------- | 492| ability | UIAbility | 是 | 指定Ability对象 | 493| callback | AsyncCallback\<void> | 是 | 表示指定的回调方法<br/>\- true:成功<br/>\- false:失败 | 494 495**示例:** 496 497```ts 498let abilityDelegator; 499let ability; 500 501abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 502abilityDelegator.getCurrentTopAbility((err : any, data : any) => { 503 console.info('getCurrentTopAbility callback'); 504 ability = data; 505 abilityDelegator.doAbilityForeground(ability, (err : any) => { 506 console.info("doAbilityForeground callback"); 507 }); 508}); 509``` 510 511 512 513### doAbilityForeground<sup>9+</sup> 514 515doAbilityForeground(ability: UIAbility): Promise\<void>; 516 517调度指定ability生命周期状态到Foreground状态(promise形式) 518 519**系统能力:** SystemCapability.Ability.AbilityRuntime.Core 520 521**参数:** 522 523| 参数名 | 类型 | 必填 | 说明 | 524| ------- | ------- | ---- | --------------- | 525| ability | UIAbility | 是 | 指定Ability对象 | 526 527**返回值:** 528 529| 类型 | 说明 | 530| ----------------- | ------------------------------------------------------------ | 531| Promise\<boolean> | 以Promise形式返回执行结果。<br/>\- true:成功<br/>\- false:失败 | 532 533**示例:** 534 535```ts 536let abilityDelegator; 537let ability; 538 539abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 540abilityDelegator.getCurrentTopAbility((err : any, data : any) => { 541 console.info('getCurrentTopAbility callback'); 542 ability = data; 543 abilityDelegator.doAbilityForeground(ability).then(() => { 544 console.info("doAbilityForeground promise"); 545 }); 546}); 547``` 548 549 550 551### doAbilityBackground<sup>9+</sup> 552 553doAbilityBackground(ability: UIAbility, callback: AsyncCallback\<void>): void; 554 555调度指定ability生命周期状态到Background状态(callback形式) 556 557**系统能力:** SystemCapability.Ability.AbilityRuntime.Core 558 559**参数:** 560 561| 参数名 | 类型 | 必填 | 说明 | 562| -------- | ----------------------- | ---- | ------------------------------------------------------- | 563| ability | UIAbility | 是 | 指定Ability对象 | 564| callback | AsyncCallback\<void> | 是 | 表示指定的回调方法<br/>\- true:成功<br/>\- false:失败 | 565 566**示例:** 567 568```ts 569let abilityDelegator; 570let ability; 571 572abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 573abilityDelegator.getCurrentTopAbility((err : any, data : any) => { 574 console.info('getCurrentTopAbility callback'); 575 ability = data; 576 abilityDelegator.doAbilityBackground(ability, (err : any) => { 577 console.info("doAbilityBackground callback"); 578 }); 579}); 580``` 581 582 583 584### doAbilityBackground<sup>9+</sup> 585 586doAbilityBackground(ability: UIAbility): Promise\<void>; 587 588调度指定ability生命周期状态到Background状态(promise形式) 589 590**系统能力:** SystemCapability.Ability.AbilityRuntime.Core 591 592**参数:** 593 594| 参数名 | 类型 | 必填 | 说明 | 595| ------- | ------- | ---- | --------------- | 596| ability | UIAbility | 是 | 指定Ability对象 | 597 598**返回值:** 599 600| 类型 | 说明 | 601| ----------------- | ------------------------------------------------------------ | 602| Promise\<boolean> | 以Promise形式返回执行结果。<br/>\- true:成功<br/>\- false:失败 | 603 604**示例:** 605 606```ts 607let abilityDelegator; 608let ability; 609 610abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 611abilityDelegator.getCurrentTopAbility((err : any, data : any) => { 612 console.info('getCurrentTopAbility callback'); 613 ability = data; 614 abilityDelegator.doAbilityBackground(ability).then(() => { 615 console.info("doAbilityBackground promise"); 616 }); 617}); 618``` 619 620 621 622### printSync<sup>9+</sup> 623 624printSync(msg: string): void; 625 626打印日志信息到单元测试终端控制台 627 628**系统能力:** SystemCapability.Ability.AbilityRuntime.Core 629 630**参数:** 631 632| 参数名 | 类型 | 必填 | 说明 | 633| ------ | ------ | ---- | ---------- | 634| msg | string | 是 | 日志字符串 | 635 636**示例:** 637 638```ts 639let abilityDelegator; 640let msg = 'msg'; 641 642abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 643abilityDelegator.printSync(msg); 644``` 645 646 647 648### print 649 650print(msg: string, callback: AsyncCallback\<void>): void; 651 652打印日志信息到单元测试终端控制台(callback形式) 653 654**系统能力:** SystemCapability.Ability.AbilityRuntime.Core 655 656**参数:** 657 658| 参数名 | 类型 | 必填 | 说明 | 659| -------- | -------------------- | ---- | ------------------ | 660| msg | string | 是 | 日志字符串 | 661| callback | AsyncCallback\<void> | 是 | 表示指定的回调方法 | 662 663**示例:** 664 665```ts 666let abilityDelegator; 667let msg = 'msg'; 668 669abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 670abilityDelegator.print(msg, (err : any) => { 671 console.info('print callback'); 672}); 673``` 674 675 676 677### print 678 679print(msg: string): Promise\<void>; 680 681打印日志信息到单元测试终端控制台(promise形式) 682 683**系统能力:** SystemCapability.Ability.AbilityRuntime.Core 684 685**参数:** 686 687| 参数名 | 类型 | 必填 | 说明 | 688| ------ | ------ | ---- | ---------- | 689| msg | string | 是 | 日志字符串 | 690 691**返回值:** 692 693| 类型 | 说明 | 694| -------------- | ------------------- | 695| Promise\<void> | 以Promise形式返回。 | 696 697**示例:** 698 699```ts 700let abilityDelegator; 701let msg = 'msg'; 702 703abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 704abilityDelegator.print(msg).then(() => { 705 console.info('print promise'); 706}); 707``` 708 709 710 711### executeShellCommand 712 713executeShellCommand(cmd: string, callback: AsyncCallback\<ShellCmdResult>): void; 714 715执行指定的shell命令(callback形式) 716 717**系统能力:** SystemCapability.Ability.AbilityRuntime.Core 718 719**参数:** 720 721| 参数名 | 类型 | 必填 | 说明 | 722| -------- | ------------------------------------------------------------ | ---- | ------------------ | 723| cmd | string | 是 | shell命令字符串 | 724| callback | AsyncCallback\<[ShellCmdResult](js-apis-inner-application-shellCmdResult.md#ShellCmdResult)> | 是 | 表示指定的回调方法 | 725 726**示例:** 727 728```ts 729let abilityDelegator; 730let cmd = 'cmd'; 731 732abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 733abilityDelegator.executeShellCommand(cmd, (err : any, data : any) => { 734 console.info('executeShellCommand callback'); 735}); 736``` 737 738 739 740### executeShellCommand 741 742executeShellCommand(cmd: string, timeoutSecs: number, callback: AsyncCallback\<ShellCmdResult>): void; 743 744指定超时时间,并执行指定的shell命令(callback形式) 745 746**系统能力:** SystemCapability.Ability.AbilityRuntime.Core 747 748**参数:** 749 750| 参数名 | 类型 | 必填 | 说明 | 751| ----------- | ------------------------------------------------------------ | ---- | ----------------------------- | 752| cmd | string | 是 | shell命令字符串 | 753| timeoutSecs | number | 否 | 设定命令超时时间,单位秒(s) | 754| callback | AsyncCallback\<[ShellCmdResult](js-apis-inner-application-shellCmdResult.md#ShellCmdResult)> | 是 | 表示指定的回调方法 | 755 756**示例:** 757 758```ts 759let abilityDelegator; 760let cmd = 'cmd'; 761let timeout = 100; 762 763abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 764abilityDelegator.executeShellCommand(cmd, timeout, (err : any, data : any) => { 765 console.info('executeShellCommand callback'); 766}); 767``` 768 769 770 771### executeShellCommand 772 773executeShellCommand(cmd: string, timeoutSecs?: number): Promise\<ShellCmdResult>; 774 775指定超时时间,并执行指定的shell命令(promise形式) 776 777**系统能力:** SystemCapability.Ability.AbilityRuntime.Core 778 779**参数:** 780 781| 参数名 | 类型 | 必填 | 说明 | 782| ----------- | ------ | ---- | ----------------------------- | 783| cmd | string | 是 | shell命令字符串 | 784| timeoutSecs | number | 否 | 设定命令超时时间,单位秒(s) | 785 786**返回值:** 787 788| 类型 | 说明 | 789| ------------------------------------------------------------ | ------------------------------------------------------------ | 790| Promise\<[ShellCmdResult](js-apis-inner-application-shellCmdResult.md#ShellCmdResult)> | 以Promise形式返回Shell命令执行结果[ShellCmdResult](js-apis-inner-application-shellCmdResult.md#ShellCmdResult)对象。 | 791 792**示例:** 793 794```ts 795let abilityDelegator; 796let cmd = 'cmd'; 797let timeout = 100; 798 799abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 800abilityDelegator.executeShellCommand(cmd, timeout).then((data : any) => { 801 console.info('executeShellCommand promise'); 802}); 803``` 804 805 806 807### finishTest<sup>9+</sup> 808 809finishTest(msg: string, code: number, callback: AsyncCallback\<void>): void; 810 811结束测试并打印日志信息到单元测试终端控制台(callback形式) 812 813**系统能力:** SystemCapability.Ability.AbilityRuntime.Core 814 815**参数:** 816 817| 参数名 | 类型 | 必填 | 说明 | 818| -------- | -------------------- | ---- | ------------------ | 819| msg | string | 是 | 日志字符串 | 820| code | number | 是 | 日志码 | 821| callback | AsyncCallback\<void> | 是 | 表示指定的回调方法 | 822 823**示例:** 824 825```ts 826let abilityDelegator; 827let msg = 'msg'; 828 829abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 830abilityDelegator.finishTest(msg, 0, (err : any) => { 831 console.info('finishTest callback'); 832}); 833``` 834 835 836 837### finishTest<sup>9+</sup> 838 839finishTest(msg: string, code: number): Promise\<void>; 840 841结束测试并打印日志信息到单元测试终端控制台(promise形式) 842 843**系统能力:** SystemCapability.Ability.AbilityRuntime.Core 844 845**参数:** 846 847| 参数名 | 类型 | 必填 | 说明 | 848| ------ | ------ | ---- | ---------- | 849| msg | string | 是 | 日志字符串 | 850| code | number | 是 | 日志码 | 851 852**返回值:** 853 854| 类型 | 说明 | 855| -------------- | ------------------- | 856| Promise\<void> | 以Promise形式返回。 | 857 858**示例:** 859 860```ts 861let abilityDelegator; 862let msg = 'msg'; 863 864abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 865abilityDelegator.finishTest(msg, 0).then(() => { 866 console.info('finishTest promise'); 867}); 868``` 869 870### addAbilityStageMonitor<sup>9+</sup> 871 872addAbilityStageMonitor(monitor: AbilityStageMonitor, callback: AsyncCallback\<void>): void; 873 874添加一个AbilityStageMonitor对象,用于监视指定abilityStage的生命周期状态更改。(callback形式) 875 876**系统能力:**SystemCapability.Ability.AbilityRuntime.Core 877 878**参数:** 879 880| 参数名 | 类型 | 必填 | 说明 | 881| -------- | ------------------------------------------------------------ | -------- | ------------------------------------------------------------ | 882| monitor | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) | 是 | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) 实例 | 883| callback | AsyncCallback\<void> | 是 | 表示指定的回调方法 | 884 885**示例:** 886 887```ts 888let abilityDelegator; 889 890let monitor = { 891 moduleName: 'moduleName', 892 srcEntrance: 'srcEntrance', 893}; 894 895abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 896abilityDelegator.addAbilityStageMonitor(monitor, (err : any) => { 897 console.info('addAbilityStageMonitor callback'); 898}); 899``` 900 901 902 903### addAbilityStageMonitor<sup>9+</sup> 904 905addAbilityStageMonitor(monitor: AbilityStageMonitor): Promise\<void>; 906 907添加一个AbilityStageMonitor对象,用于监视指定abilityStage的生命周期状态更改。(promise形式) 908 909**系统能力:** SystemCapability.Ability.AbilityRuntime.Core 910 911**参数:** 912 913| 参数名 | 类型 | 必填 | 说明 | 914| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 915| monitor | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) | 是 | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) 实例 | 916 917**返回值:** 918 919| 类型 | 说明 | 920| -------------- | ------------------- | 921| Promise\<void> | 以Promise形式返回。 | 922 923**示例:** 924 925```ts 926let abilityDelegator; 927 928let monitor = { 929 moduleName: 'moduleName', 930 srcEntrance: 'srcEntrance', 931}; 932 933abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 934abilityDelegator.addAbilityStageMonitor(monitor).then(() => { 935 console.info('addAbilityStageMonitor promise'); 936}); 937``` 938 939### removeAbilityStageMonitor<sup>9+</sup> 940 941removeAbilityStageMonitor(monitor: AbilityStageMonitor, callback: AsyncCallback\<void>): void; 942 943从应用程序内存中删除指定的AbilityStageMonitor对象。(callback形式) 944 945**系统能力:**SystemCapability.Ability.AbilityRuntime.Core 946 947**参数:** 948 949| 参数名 | 类型 | 必填 | 说明 | 950| -------- | ------------------------------------------------------------ | -------- | ------------------------------------------------------------ | 951| monitor | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) | 是 | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) 实例 | 952| callback | AsyncCallback\<void> | 是 | 表示指定的回调方法 | 953 954**示例:** 955 956```ts 957let abilityDelegator; 958 959let monitor = { 960 moduleName: 'moduleName', 961 srcEntrance: 'srcEntrance', 962}; 963 964abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 965abilityDelegator.removeAbilityStageMonitor(monitor, (err : any) => { 966 console.info('removeAbilityStageMonitor callback'); 967}); 968``` 969 970 971 972### removeAbilityStageMonitor<sup>9+</sup> 973 974removeAbilityStageMonitor(monitor: AbilityStageMonitor): Promise\<void>; 975 976从应用程序内存中删除指定的AbilityStageMonitor对象。(promise形式) 977 978**系统能力:** SystemCapability.Ability.AbilityRuntime.Core 979 980**参数:** 981 982| 参数名 | 类型 | 必填 | 说明 | 983| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 984| monitor | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) | 是 | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) 实例 | 985 986**返回值:** 987 988| 类型 | 说明 | 989| -------------- | ------------------- | 990| Promise\<void> | 以Promise形式返回。 | 991 992**示例:** 993 994```ts 995let abilityDelegator; 996 997let monitor = { 998 moduleName: 'moduleName', 999 srcEntrance: 'srcEntrance', 1000}; 1001 1002abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 1003abilityDelegator.removeAbilityStageMonitor(monitor).then(() => { 1004 console.info('removeAbilityStageMonitor promise'); 1005}); 1006``` 1007 1008### waitAbilityStageMonitor<sup>9+</sup> 1009 1010waitAbilityStageMonitor(monitor: AbilityStageMonitor, callback: AsyncCallback\<AbilityStage>): void; 1011 1012等待并返回与给定AbilityStageMonitor中设置的条件匹配的AbilityStage对象。(callback形式) 1013 1014**系统能力:**SystemCapability.Ability.AbilityRuntime.Core 1015 1016**参数:** 1017 1018| 参数名 | 类型 | 必填 | 说明 | 1019| -------- | ------------------------------------------------------------ | -------- | ------------------------------------------------------------ | 1020| monitor | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) | 是 | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) 实例 | 1021| callback | AsyncCallback\<AbilityStage> | 是 | 成功返回AbilityStage对象,失败返回空。 | 1022 1023**示例:** 1024 1025```ts 1026let abilityDelegator; 1027 1028function onAbilityCreateCallback(data) { 1029 console.info('onAbilityCreateCallback'); 1030} 1031 1032let monitor = { 1033 moduleName: 'moduleName', 1034 srcEntrance: 'srcEntrance', 1035}; 1036 1037abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 1038abilityDelegator.waitAbilityStageMonitor(monitor, (err : any, data : any) => { 1039 console.info('waitAbilityStageMonitor callback'); 1040}); 1041``` 1042 1043### waitAbilityStageMonitor<sup>9+</sup> 1044 1045waitAbilityStageMonitor(monitor: AbilityStageMonitor, timeout?: number): Promise\<AbilityStage>; 1046 1047等待并返回与给定AbilityStageMonitor中设置的条件匹配的AbilityStage对象。(promise形式) 1048 1049**系统能力:** SystemCapability.Ability.AbilityRuntime.Core 1050 1051**参数:** 1052 1053| 参数名 | 类型 | 必填 | 说明 | 1054| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 1055| monitor | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) | 是 | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) 实例 | 1056| timeout | number | 否 | 超时最大等待时间,以毫秒为单位。 | 1057 1058**返回值:** 1059 1060| 类型 | 说明 | 1061| -------------- | ------------------- | 1062| Promise\<AbilityStage> | 成功返回AbilityStage对象,失败返回空。 | 1063 1064**示例:** 1065 1066```ts 1067let abilityDelegator; 1068 1069function onAbilityCreateCallback(data) { 1070 console.info('onAbilityCreateCallback'); 1071} 1072 1073let monitor = { 1074 moduleName: 'moduleName', 1075 srcEntrance: 'srcEntrance', 1076}; 1077 1078abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 1079abilityDelegator.waitAbilityStageMonitor(monitor).then((data : any) => { 1080 console.info('waitAbilityStageMonitor promise'); 1081}); 1082``` 1083 1084### waitAbilityStageMonitor<sup>9+</sup> 1085 1086waitAbilityStageMonitor(monitor: AbilityStageMonitor, timeout: number, callback: AsyncCallback\<AbilityStage>): void; 1087 1088等待并返回与给定AbilityStageMonitor中设置的条件匹配的AbilityStage对象。(callback形式) 1089 1090**系统能力:** SystemCapability.Ability.AbilityRuntime.Core 1091 1092**参数:** 1093 1094| 参数名 | 类型 | 必填 | 说明 | 1095| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 1096| monitor | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) | 是 | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) 实例 | 1097| timeout | number | 否 | 超时最大等待时间,以毫秒为单位。 | 1098| callback | AsyncCallback\<AbilityStage> | 是 | 成功返回AbilityStage对象,失败返回空。 | 1099 1100**示例:** 1101 1102```ts 1103let abilityDelegator; 1104let timeout = 100; 1105 1106function onAbilityCreateCallback(data) { 1107 console.info('onAbilityCreateCallback'); 1108} 1109 1110let monitor = { 1111 moduleName: 'moduleName', 1112 srcEntrance: 'srcEntrance', 1113}; 1114 1115abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 1116abilityDelegator.waitAbilityStageMonitor(monitor, timeout, (err : any, data : any) => { 1117 console.info('waitAbilityStageMonitor callback'); 1118}); 1119```