ProcessData

The ProcessData module defines process data. If a lifecycle change listener is registered by calling registerApplicationStateObserver, the onProcessCreated callback in ApplicationStateObserver is invoked when the lifecycle of an application or ability changes.

NOTE

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

Modules to Import

import appManager from '@ohos.application.appManager';

Attributes

System capability: SystemCapability.Ability.AbilityRuntime.Core

System API: This is a system API and cannot be called by third-party applications.

Name Type Read-only Mandatory Description
pid number No Yes Process ID.
bundleName string No Yes Bundle name of the application.
uid number No Yes UID of the application.
isContinuousTask9+ boolean No Yes Whether the task is a continuous task. The value true means that the task is a continuous task, and false means the opposite.
isKeepAlive9+ boolean No Yes Whether the process is a resident task. The value true means that the process is a resident, and false means the opposite.
state9+ number No Yes Application state. The options are as follows:
0: newly created.
1: ready.
2: running in the foreground.
4: running in the background.
5: terminated.

Example

import appManager from '@ohos.app.ability.appManager';

let observerCode = appManager.on('applicationState', {
    onForegroundApplicationChanged(appStateData) {
        console.log(`onForegroundApplicationChanged appStateData: ${JSON.stringify(appStateData)}`);
    },
    onAbilityStateChanged(abilityStateData) {
        console.log(`onAbilityStateChanged onAbilityStateChanged: ${JSON.stringify(abilityStateData)}`);
    },
    onProcessCreated(processData) {
        console.log(`onProcessCreated onProcessCreated: ${JSON.stringify(processData)}`);
    },
    onProcessDied(processData) {
        console.log(`onProcessDied onProcessDied: ${JSON.stringify(processData)}`);
    },
    onProcessStateChanged(processData) {
        console.log(`onProcessStateChanged processData.pid : ${JSON.stringify(processData.pid)}`);
        console.log(`onProcessStateChanged processData.bundleName : ${JSON.stringify(processData.bundleName)}`);
        console.log(`onProcessStateChanged processData.uid : ${JSON.stringify(processData.uid)}`);
        console.log(`onProcessStateChanged processData.isContinuousTask : ${JSON.stringify(processData.isContinuousTask)}`);
        console.log(`onProcessStateChanged processData.isKeepAlive : ${JSON.stringify(processData.isKeepAlive)}`);
    }
});