1# AbilityMonitor 2 3AbilityMonitor模块提供匹配满足指定条件的受监视能力对象的方法的能力,最近匹配的ability对象将保存在AbilityMonitor对象中。 4 5> **说明:** 6> 7> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9## 使用说明 10 11可以作为abilityDelegator中的[addAbilityMonitor](js-apis-inner-application-abilityDelegator.md#addabilitymonitor9)的入参来监听指定Ability的生命周期变化。 12 13## AbilityMonitor 14 15Ability监听器 16 17**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core 18 19| 名称 | 类型 | 可读 | 可写 | 说明 | 20| ------------------------------------------------------------ | -------- | ---- | ---- | ------------------------------------------------------------ | 21| abilityName | string | 是 | 是 | 当前AbilityMonitor绑定的ability名称 | 22| moduleName? | string | 是 | 是 | 当前AbilityMonitor绑定的模块名称 | 23| onAbilityCreate?:(data: [UIAbility](js-apis-app-ability-uiAbility.md)) | function | 是 | 是 | ability被启动初始化时的回调函数<br/>不设置该属性则不能收到该生命周期回调 | 24| onAbilityForeground?:(data: [UIAbility](js-apis-app-ability-uiAbility.md)) | function | 是 | 是 | ability状态变成前台时的回调函数<br/>不设置该属性则不能收到该生命周期回调 | 25| onAbilityBackground?:(data: [UIAbility](js-apis-app-ability-uiAbility.md)) | function | 是 | 是 | ability状态变成后台时的回调函数<br/>不设置该属性则不能收到该生命周期回调 | 26| onAbilityDestroy?:(data: [UIAbility](js-apis-app-ability-uiAbility.md)) | function | 是 | 是 | ability被销毁前的回调函数<br/>不设置该属性则不能收到该生命周期回调<br/> | 27| onWindowStageCreate?:(data: [UIAbility](js-apis-app-ability-uiAbility.md)) | function | 是 | 是 | window stage被创建时的回调函数<br/>不设置该属性则不能收到该生命周期回调<br/> | 28| onWindowStageRestore?:(data: [UIAbility](js-apis-app-ability-uiAbility.md)) | function | 是 | 是 | window stage被重载时的回调函数<br/>不设置该属性则不能收到该生命周期回调<br/> | 29| onWindowStageDestroy?:(data: [UIAbility](js-apis-app-ability-uiAbility.md)) | function | 是 | 是 | window stage被销毁前的回调函数<br/>不设置该属性则不能收到该生命周期回调<br/> | 30 31**示例:** 32 33```ts 34import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry'; 35 36function onAbilityCreateCallback(data) { 37 console.info('onAbilityCreateCallback'); 38} 39 40let monitor = { 41 abilityName: 'abilityname', 42 moduleName: "moduleName", 43 onAbilityCreate: onAbilityCreateCallback 44}; 45 46let abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); 47abilityDelegator.addAbilityMonitor(monitor, (err : any) => { 48 console.info('addAbilityMonitor callback'); 49}); 50``` 51 52 53