harmony 鸿蒙AppStateData

  • 2025-06-12
  • 浏览 (3)

AppStateData

The AppStateData module defines the application state data, which can be obtained through appManager.on(‘applicationState’).

NOTE

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

Modules to Import

import { appManager } from '@kit.AbilityKit';

Properties

System capability: SystemCapability.Ability.AbilityRuntime.Core

Name Type Mandatory Description
bundleName string Yes Bundle name.
uid number Yes UID of the application.
state number Yes Application state.
0: The application is being initialized.
1: The application has been initialized and is ready.
2: The application is running in the foreground.
3: The application is having the focus. (This state is reserved.)
4: The application is running in the background.
5: The application has exited.
isSplitScreenMode boolean Yes Whether the application is in split-screen mode.
true: The application is in split-screen mode.
false: The application is not in split-screen mode.
isFloatingWindowMode boolean Yes Whether the application is in floating window mode.
true: The application is in floating window mode.
false: The application is not in floating window mode.

Example

import { appManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

let applicationStateObserver: appManager.ApplicationStateObserver = {
  onForegroundApplicationChanged(appStateData) {
    console.log(`[appManager] onForegroundApplicationChanged: ${JSON.stringify(appStateData)}`);
    console.log(`appStateData.bundleName: ${appStateData.bundleName}`);
    console.log(`appStateData.uid: ${appStateData.uid}`);
    console.log(`appStateData.state: ${appStateData.state}`);
    console.log(`appStateData.isSplitScreenMode: ${appStateData.isSplitScreenMode}`);
    console.log(`appStateData.isFloatingWindowMode: ${appStateData.isFloatingWindowMode}`);
  },
  onAbilityStateChanged(abilityStateData) {
    console.log(`[appManager] onAbilityStateChanged: ${JSON.stringify(abilityStateData)}`);
  },
  onProcessCreated(processData) {
    console.log(`[appManager] onProcessCreated: ${JSON.stringify(processData)}`);
  },
  onProcessDied(processData) {
    console.log(`[appManager] onProcessDied: ${JSON.stringify(processData)}`);
  },
  onProcessStateChanged(processData) {
    console.log(`[appManager] onProcessStateChanged: ${JSON.stringify(processData)}`);
  },
  onAppStarted(appStateData) {
    console.log(`[appManager] onAppStarted: ${JSON.stringify(appStateData)}`);
  },
  onAppStopped(appStateData) {
    console.log(`[appManager] onAppStopped: ${JSON.stringify(appStateData)}`);
  }
};

try {
  const observerId = appManager.on('applicationState', applicationStateObserver);
  console.log(`[appManager] observerCode: ${observerId}`);
} catch (paramError) {
  let code = (paramError as BusinessError).code;
  let message = (paramError as BusinessError).message;
  console.error(`[appManager] error: ${code}, ${message}`);
}

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Ability Kit

harmony 鸿蒙AbilityAccessControl

harmony 鸿蒙AbilityBase

harmony 鸿蒙AbilityBase_Element

harmony 鸿蒙AbilityRuntime

harmony 鸿蒙bundle

harmony 鸿蒙OH_NativeBundle_ApplicationInfo

harmony 鸿蒙OH_NativeBundle_ElementName

harmony 鸿蒙ability_access_control.h

harmony 鸿蒙ability_base_common.h

0  赞