js-apis-inner-application-processData.md 3.0 KB
Newer Older
M
m00512953 已提交
1 2
# ProcessData

U
unknown 已提交
3
进程数据的对象定义。使用接口[registerApplicationStateObserver](js-apis-application-appManager.md#appmanagerregisterapplicationstateobserver8)注册生命周期变化监听后,当应用或组件的生命周期变化时,系统通过[ApplicationStateObserver](js-apis-inner-application-applicationStateObserver.md)的onProcessCreated等方法回调给开发者。
M
m00512953 已提交
4

5 6 7 8
> **说明:**
> 
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 

9 10 11
## 导入模块

```ts
12
import appManager from '@ohos.application.appManager';
13 14
```

Y
yuyaozhi 已提交
15 16
## 属性

M
m00512953 已提交
17 18 19 20 21 22
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core

**系统API**:该接口为系统接口,三方应用不支持调用。

| 名称                     | 类型     | 可读 | 可写 | 说明                       |
| ----------------------- | ---------| ---- | ---- | ------------------------- |
23 24 25
| pid         | number   | 是   | 否   | 进程ID。                    |
| bundleName  | string   | 是   | 否  | 应用包名。                  |
| uid         | number   | 是   | 否   | 应用的uid。                  |
U
unknown 已提交
26 27
| isContinuousTask<sup>9+</sup>         | boolean   | 是   | 否   | 是否为长时任务,true表示是,false表示不是                 |
| isKeepAlive<sup>9+</sup>         | boolean   | 是   | 否   | 是否为常驻进程,true表示是,false表示不是                   |
U
unknown 已提交
28
| state<sup>9+</sup>       | number   | 是   | 否   | 应用的状态,取值及对应的状态为:0(刚创建),2(前台),4(后台),5(已终止)。     |
M
m00512953 已提交
29 30 31

**示例:**
```ts
32
import appManager from '@ohos.application.appManager';
M
m00512953 已提交
33 34 35

let applicationStateObserver = {
    onForegroundApplicationChanged(appStateData) {
M
mingxihua 已提交
36
        console.log('onForegroundApplicationChanged appStateData: ${JSON.stringify(appStateData)}');
M
m00512953 已提交
37 38
    },
    onAbilityStateChanged(abilityStateData) {
M
mingxihua 已提交
39
        console.log('onAbilityStateChanged onAbilityStateChanged: ${JSON.stringify(abilityStateData)}');
M
m00512953 已提交
40 41
    },
    onProcessCreated(processData) {
M
mingxihua 已提交
42
        console.log('onProcessCreated onProcessCreated: ${JSON.stringify(processData)}');
M
m00512953 已提交
43 44
    },
    onProcessDied(processData) {
M
mingxihua 已提交
45
        console.log('onProcessDied onProcessDied: ${JSON.stringify(processData)}');
M
m00512953 已提交
46 47
    },
    onProcessStateChanged(processData) {
M
mingxihua 已提交
48 49 50 51 52
        console.log('onProcessStateChanged processData.pid : ${JSON.stringify(processData.pid)}');
        console.log('onProcessStateChanged processData.bundleName : ${JSON.stringify(processData.bundleName)}');
        console.log('onProcessStateChanged processData.uid : ${JSON.stringify(processData.uid)}');
        console.log('onProcessStateChanged processData.isContinuousTask : ${JSON.stringify(processData.isContinuousTask)}');
        console.log('onProcessStateChanged processData.isKeepAlive : ${JSON.stringify(processData.isKeepAlive)}');
M
m00512953 已提交
53
    }
M
mingxihua 已提交
54
};
M
m00512953 已提交
55 56
let observerCode = appManager.registerApplicationStateObserver(applicationStateObserver);
```