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