AbilityMonitor

The module provides the capability of listening for lifecycle state changes of a specified UIAbility. You can use AbilityMonitor as an input parameter of abilityDelegator.addAbilityMonitor to register a listener.

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 '@kit.TestKit';

Usage

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

AbilityMonitor

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

System capability: SystemCapability.Ability.AbilityRuntime.Core

Name Type Read Only Optional Description
abilityName string No No Name of the UIAbility object to be listened.
moduleName string No Yes Module name of the UIAbility object.
onAbilityCreate (ability: UIAbility) => void No Yes Callback invoked when the UIAbility object is created.
onAbilityForeground (ability: UIAbility) => void No Yes Callback invoked when the UIAbility object transitions to the foreground.
onAbilityBackground (ability: UIAbility) => void No Yes Callback invoked when the UIAbility object transitions to the background.
onAbilityDestroy (ability: UIAbility) => void No Yes Callback invoked when the UIAbility object is destroyed.
onWindowStageCreate (ability: UIAbility) => void No Yes Callback invoked when a WindowStage instance is created.
onWindowStageRestore (ability: UIAbility) => void No Yes Callback invoked when the page stack is restored for the target UIAbility during cross-device migration.
onWindowStageDestroy (ability: UIAbility) => void No Yes Callback invoked when the WindowStage instance is destroyed.

Example

import { abilityDelegatorRegistry } from '@kit.TestKit';
import { UIAbility } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

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