AbilityMonitor

The AbilityMonitor module provides monitors for abilities that meet specified conditions. The latest matched abilities are stored in an AbilityMonitor object.

NOTE

The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version.

Modules to Import

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

Usage

AbilityMonitor can be used as an input parameter of addAbilityMonitor in abilityDelegator to listen for lifecycle changes of an ability.

AbilityMonitor

Describes an ability monitor.

Atomic service API: This API can be used in atomic services since API version 11.

System capability: SystemCapability.Ability.AbilityRuntime.Core

Name Type Readable Writable Description
abilityName string Yes Yes Name of the ability bound to the ability monitor.
moduleName? string Yes Yes Name of the module bound to the ability monitor.
onAbilityCreate?:(data: UIAbility) function Yes Yes Called when the ability is created.
If this attribute is not set, the corresponding lifecycle callback cannot be received.
onAbilityForeground?:(data: UIAbility) function Yes Yes Called when the ability starts to run in the foreground.
If this attribute is not set, the corresponding lifecycle callback cannot be received.
onAbilityBackground?:(data: UIAbility) function Yes Yes Called when the ability starts to run in the background.
If this attribute is not set, the corresponding lifecycle callback cannot be received.
onAbilityDestroy?:(data: UIAbility) function Yes Yes Called when the ability is destroyed.
If this attribute is not set, the corresponding lifecycle callback cannot be received.
onWindowStageCreate?:(data: UIAbility) function Yes Yes Called when the window stage is created.
If this attribute is not set, the corresponding lifecycle callback cannot be received.
onWindowStageRestore?:(data: UIAbility) function Yes Yes Called when the window stage is restored.
If this attribute is not set, the corresponding lifecycle callback cannot be received.
onWindowStageDestroy?:(data: UIAbility) function Yes Yes Called when the window stage is destroyed.
If this attribute is not set, the corresponding lifecycle callback cannot be received.

Example

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)}`);
    }
});