# AppStateData 定义应用状态信息,可以通过[appManager.on('applicationState')](./js-apis-app-ability-appManager.md#appmanageronapplicationstate)获取当前应用的相关信息。 > **说明:** > > 本模块首批接口从API version 14 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 ## 导入模块 ```ts import { appManager } from '@kit.AbilityKit'; ``` ## 属性 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core | 名称 | 类型 | 必填 | 说明 | | ------------------------- | ------ | ---- | --------- | | bundleName | string | 是 | Bundle名称。 | | uid | number | 是 | 应用程序的uid。 | | state | number | 是 | 应用状态。
0:初始化状态,应用正在初始化
1:就绪状态,应用已初始化完毕
2:前台状态,应用位于前台
3:获焦状态。(预留状态,当前暂不支持)
4:后台状态,应用位于后台
5:退出状态,应用已退出 | | isSplitScreenMode | boolean | 是 | 判断应用是否进入分屏模式。
true:应用处于分屏模式。
false:应用不处于分屏模式。 | | isFloatingWindowMode | boolean | 是 | 判断应用是否进入悬浮窗模式。
true:应用处于浮窗模式。
false:应用不处于浮窗模式。 | **示例:** ```ts 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}`); } ```