• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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