1# AppStateData 2 3定义应用状态信息,可以通过[appManager.on('applicationState')](./js-apis-app-ability-appManager.md#appmanageronapplicationstate)获取当前应用的相关信息。 4 5> **说明:** 6> 7> 本模块首批接口从API version 14 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9## 导入模块 10 11```ts 12import { appManager } from '@kit.AbilityKit'; 13``` 14 15## 属性 16 17**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 18 19| 名称 | 类型 | 必填 | 说明 | 20| ------------------------- | ------ | ---- | --------- | 21| bundleName | string | 是 | Bundle名称。 | 22| uid | number | 是 | 应用程序的uid。 | 23| state | number | 是 | 应用状态。<br>0:初始化状态,应用正在初始化<br>1:就绪状态,应用已初始化完毕<br>2:前台状态,应用位于前台<br>3:获焦状态。(预留状态,当前暂不支持)<br>4:后台状态,应用位于后台<br>5:退出状态,应用已退出 | 24| isSplitScreenMode | boolean | 是 | 判断应用是否进入分屏模式。<br>true:应用处于分屏模式。<br>false:应用不处于分屏模式。 | 25| isFloatingWindowMode | boolean | 是 | 判断应用是否进入悬浮窗模式。<br>true:应用处于浮窗模式。<br>false:应用不处于浮窗模式。 | 26 27**示例:** 28 29```ts 30import { appManager } from '@kit.AbilityKit'; 31import { BusinessError } from '@kit.BasicServicesKit'; 32 33let applicationStateObserver: appManager.ApplicationStateObserver = { 34 onForegroundApplicationChanged(appStateData) { 35 console.log(`[appManager] onForegroundApplicationChanged: ${JSON.stringify(appStateData)}`); 36 console.log(`appStateData.bundleName: ${appStateData.bundleName}`); 37 console.log(`appStateData.uid: ${appStateData.uid}`); 38 console.log(`appStateData.state: ${appStateData.state}`); 39 console.log(`appStateData.isSplitScreenMode: ${appStateData.isSplitScreenMode}`); 40 console.log(`appStateData.isFloatingWindowMode: ${appStateData.isFloatingWindowMode}`); 41 }, 42 onAbilityStateChanged(abilityStateData) { 43 console.log(`[appManager] onAbilityStateChanged: ${JSON.stringify(abilityStateData)}`); 44 }, 45 onProcessCreated(processData) { 46 console.log(`[appManager] onProcessCreated: ${JSON.stringify(processData)}`); 47 }, 48 onProcessDied(processData) { 49 console.log(`[appManager] onProcessDied: ${JSON.stringify(processData)}`); 50 }, 51 onProcessStateChanged(processData) { 52 console.log(`[appManager] onProcessStateChanged: ${JSON.stringify(processData)}`); 53 }, 54 onAppStarted(appStateData) { 55 console.log(`[appManager] onAppStarted: ${JSON.stringify(appStateData)}`); 56 }, 57 onAppStopped(appStateData) { 58 console.log(`[appManager] onAppStopped: ${JSON.stringify(appStateData)}`); 59 } 60}; 61 62try { 63 const observerId = appManager.on('applicationState', applicationStateObserver); 64 console.log(`[appManager] observerCode: ${observerId}`); 65} catch (paramError) { 66 let code = (paramError as BusinessError).code; 67 let message = (paramError as BusinessError).message; 68 console.error(`[appManager] error: ${code}, ${message}`); 69} 70``` 71