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