AbilityMonitor

AbilityMonitor模块提供匹配满足指定条件的受监视能力对象的方法的能力,最近匹配的ability对象将保存在AbilityMonitor对象中。

说明:

本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';

使用说明

可以作为abilityDelegator中的addAbilityMonitor的入参来监听指定Ability的生命周期变化。

AbilityMonitor

Ability监听器

系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core

名称 类型 可读 可写 说明
abilityName string 当前AbilityMonitor绑定的ability名称
moduleName? string 当前AbilityMonitor绑定的模块名称
onAbilityCreate?:(data: UIAbility) function ability被启动初始化时的回调函数
不设置该属性则不能收到该生命周期回调
onAbilityForeground?:(data: UIAbility) function ability状态变成前台时的回调函数
不设置该属性则不能收到该生命周期回调
onAbilityBackground?:(data: UIAbility) function ability状态变成后台时的回调函数
不设置该属性则不能收到该生命周期回调
onAbilityDestroy?:(data: UIAbility) function ability被销毁前的回调函数
不设置该属性则不能收到该生命周期回调
onWindowStageCreate?:(data: UIAbility) function window stage被创建时的回调函数
不设置该属性则不能收到该生命周期回调
onWindowStageRestore?:(data: UIAbility) function window stage被重载时的回调函数
不设置该属性则不能收到该生命周期回调
onWindowStageDestroy?:(data: UIAbility) function window stage被销毁前的回调函数
不设置该属性则不能收到该生命周期回调

示例:

import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
import UIAbility from '@ohos.app.ability.UIAbility';
import { BusinessError } from '@ohos.base';

function onAbilityCreateCallback(data: UIAbility) {
    console.info(`onAbilityCreateCallback, data: ${JSON.stringify(data)}`);
}

let monitor: AbilityDelegatorRegistry.AbilityMonitor = {
    abilityName: 'abilityname',
    moduleName: "moduleName",
    onAbilityCreate: onAbilityCreateCallback
}

let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.addAbilityMonitor(monitor, (error : BusinessError) => {
    if (error) {
        console.error(`addAbilityMonitor fail, error: ${JSON.stringify(error)}`);
    }
});