• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# ProcessData
2
3定义进程数据,可以通过[registerApplicationStateObserver](js-apis-application-appManager.md#appmanagerregisterapplicationstateobserver8)注册生命周期变化监听后,通过[ApplicationStateObserver](js-apis-inner-application-applicationStateObserver.md)的onProcessCreated生命周期回调获取。
4
5> **说明:**
6>
7> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8
9## 导入模块
10
11```ts
12import appManager from '@ohos.application.appManager';
13```
14
15**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
16
17**系统API**:该接口为系统接口,三方应用不支持调用。
18
19| 名称                     | 类型     | 可读 | 可写 | 说明                       |
20| ----------------------- | ---------| ---- | ---- | ------------------------- |
21| pid         | number   | 是   | 否   | 进程ID。                    |
22| bundleName  | string   | 是   | 否  | 应用包名。                  |
23| uid         | number   | 是   | 否   | 应用的uid。                  |
24| isContinuousTask<sup>9+</sup>         | boolean   | 是   | 否   | 是否为长时任务,true表示是,false表示不是                 |
25| isKeepAlive<sup>9+</sup>         | boolean   | 是   | 否   | 是否为常驻进程,true表示是,false表示不是                   |
26| state<sup>9+</sup>       | number   | 是   | 否   | 应用的状态,取值及对应的状态为:0(刚创建),2(前台),4(后台),5(已终止)。     |
27
28**示例:**
29```ts
30import appManager from '@ohos.application.appManager';
31
32let applicationStateObserver = {
33    onForegroundApplicationChanged(appStateData) {
34        console.log('onForegroundApplicationChanged appStateData: ' +  JSON.stringify(appStateData));
35    },
36    onAbilityStateChanged(abilityStateData) {
37        console.log('onAbilityStateChanged onAbilityStateChanged: ' +  JSON.stringify(abilityStateData));
38    },
39    onProcessCreated(processData) {
40        console.log('onProcessCreated onProcessCreated: '  +  JSON.stringify(processData));
41    },
42    onProcessDied(processData) {
43        console.log('onProcessDied onProcessDied: '  +  JSON.stringify(processData));
44    },
45    onProcessStateChanged(processData) {
46        console.log('onProcessStateChanged processData.pid : ' +  JSON.stringify(processData.pid));
47        console.log('onProcessStateChanged processData.bundleName : ' +  JSON.stringify(processData.bundleName));
48        console.log('onProcessStateChanged processData.uid : ' +  JSON.stringify(processData.uid));
49        console.log('onProcessStateChanged processData.isContinuousTask : ' +  JSON.stringify(processData.isContinuousTask));
50        console.log('onProcessStateChanged processData.isKeepAlive : ' +  JSON.stringify(processData.isKeepAlive));
51    }
52};
53let observerCode = appManager.registerApplicationStateObserver(applicationStateObserver);
54```