• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 # AppStateData (系统接口)
2
3定义应用状态信息,可以通过[getForegroundApplications](js-apis-app-ability-appManager-sys.md#appmanagergetforegroundapplications)获取当前应用的相关信息。
4
5> **说明:**
6>
7> 本模块首批接口从API version 8 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8> 本模块接口为系统接口。
9
10## 导入模块
11
12```ts
13import { appManager } from '@kit.AbilityKit';
14```
15
16## 属性
17
18**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
19
20**系统API**:本模块被标记为@systemapi,对三方应用隐藏
21
22| 名称                      | 类型   | 必填  | 说明       |
23| ------------------------- | ------ | ---- | --------- |
24| bundleName<sup>8+</sup>   | string | 否   | Bundle名称。 |
25| uid<sup>8+</sup>          | number | 否   | 应用程序的uid。   |
26| state<sup>8+</sup>        | number | 否   | 应用状态。<br>0:初始化状态,应用正在初始化<br>1:就绪状态,应用已初始化完毕<br>2:前台状态,应用位于前台<br>3:获焦状态。(预留状态,当前暂不支持)<br>4:后台状态,应用位于后台<br>5:退出状态,应用已退出 |
27| isSplitScreenMode<sup>11+</sup> | boolean | 否 | 判断应用是否进入分屏模式。<br>true:应用处于分屏模式。<br>false:应用不处于分屏模式。 |
28| isFloatingWindowMode<sup>11+</sup> | boolean | 否 | 判断应用是否进入悬浮窗模式。<br>true:应用处于浮窗模式。<br>false:应用不处于浮窗模式。 |
29
30**示例:**
31
32```ts
33import { appManager } from '@kit.AbilityKit';
34
35function getForegroundAppInfos() {
36  appManager.getForegroundApplications((error, data) => {
37    if (error) {
38      console.log(`getForegroundApplications failed, error.code: ${JSON.stringify(error.code)}, error.message: ${JSON.stringify(error.message)}`);
39      return;
40    }
41    for (let i = 0; i < data.length; i++) {
42      let appStateData = data[i];
43      console.log(`appStateData.bundleName: ${appStateData.bundleName}`);
44      console.log(`appStateData.uid: ${appStateData.uid}`);
45      console.log(`appStateData.state: ${appStateData.state}`);
46      console.log(`appStateData.isSplitScreenMode: ${appStateData.isSplitScreenMode}`);
47      console.log(`appStateData.isFloatingWindowMode: ${appStateData.isFloatingWindowMode}`);
48    }
49  });
50}
51```
52