js-apis-app-ability-appManager.md 29.8 KB
Newer Older
Z
zengyawen 已提交
1
# @ohos.app.ability.appManager (appManager)
D
donglin 已提交
2 3 4 5 6 7 8 9 10

appManager模块提供App管理的能力,包括查询当前是否处于稳定性测试场景、查询是否为ram受限设备、获取应用程序的内存大小、获取有关运行进程的信息等。

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

## 导入模块

M
m00512953 已提交
11
```ts
D
merge  
donglin 已提交
12
import appManager from '@ohos.app.ability.appManager';
D
donglin 已提交
13 14
```

D
donglin 已提交
15
## appManager.isRunningInStabilityTest
D
donglin 已提交
16 17 18 19 20 21 22

static isRunningInStabilityTest(callback: AsyncCallback<boolean>): void

查询当前是否处于稳定性测试场景。

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

D
donglin 已提交
23
**返回值:**
D
donglin 已提交
24

D
donglin 已提交
25 26 27
  | 类型| 说明 | 
  | -------- | -------- |
  |AsyncCallback<boolean> |以回调方式返回接口运行结果及当前是否处于稳定性测试场景,可进行错误处理或其他自定义处理。true: 处于稳定性测试场景,false:处于非稳定性测试场景。 | 
D
donglin 已提交
28

D
donglin 已提交
29 30 31 32 33 34 35 36
**错误码**

| 错误码ID | 错误信息 |
| ------- | -------- |
| 16000050 | Internal error. |

以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)

D
donglin 已提交
37
**示例:**
38

D
donglin 已提交
39 40
```ts
appManager.isRunningInStabilityTest((err, flag) => {
41
    if (err.code !== 0) {
D
donglin 已提交
42
        console.log("isRunningInStabilityTest faile, err: " + JSON.stringify(err));
D
donglin 已提交
43 44 45
    } else {
        console.log("The result of isRunningInStabilityTest is:" + JSON.stringify(flag));
    }
D
donglin 已提交
46 47
})  
```
D
donglin 已提交
48 49


D
donglin 已提交
50
## appManager.isRunningInStabilityTest
D
donglin 已提交
51 52 53 54 55 56 57 58 59 60 61

static isRunningInStabilityTest(): Promise<boolean>

查询当前是否处于稳定性测试场景。

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

**返回值:**

  | 类型 | 说明 | 
  | -------- | -------- |
D
donglin 已提交
62
  | Promise<boolean> | 以Promise方式返回接口运行结果及当前是否处于稳定性测试场景,可进行错误处理或其他自定义处理。true: 处于稳定性测试场景,false:处于非稳定性测试场景。 | 
D
donglin 已提交
63

D
donglin 已提交
64 65 66 67 68 69 70 71
**错误码**

| 错误码ID | 错误信息 |
| ------- | -------- |
| 16000050 | Internal error. |

以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)

D
donglin 已提交
72
**示例:**
73

D
donglin 已提交
74 75
```ts
appManager.isRunningInStabilityTest().then((flag) => {
D
donglin 已提交
76
    console.log("The result of isRunningInStabilityTest is:" + JSON.stringify(flag));
D
donglin 已提交
77
}).catch((error) => {
D
donglin 已提交
78
    console.log("error:" + JSON.stringify(error));
D
donglin 已提交
79 80
});
```
D
donglin 已提交
81 82 83 84 85 86 87 88 89 90 91 92 93 94


## appManager.isRamConstrainedDevice

isRamConstrainedDevice(): Promise\<boolean>;

查询是否为ram受限设备。

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

**返回值:**

  | 类型 | 说明 | 
  | -------- | -------- |
D
donglin 已提交
95
  | Promise&lt;boolean&gt; | 以Promise方式返回接口运行结果及当前设备是否为ram受限设备,可进行错误处理或其他自定义处理。true:当前设备为ram受限设备,false:当前设备为非ram受限设备。 | 
D
donglin 已提交
96

D
donglin 已提交
97 98 99 100 101 102 103 104
**错误码**

| 错误码ID | 错误信息 |
| ------- | -------- |
| 16000050 | Internal error. |

以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)

D
donglin 已提交
105
**示例:**
106

D
donglin 已提交
107 108
```ts
appManager.isRamConstrainedDevice().then((data) => {
D
donglin 已提交
109
    console.log("The result of isRamConstrainedDevice is:" + JSON.stringify(data));
D
donglin 已提交
110
}).catch((error) => {
D
donglin 已提交
111
    console.log("error:" + JSON.stringify(error));
D
donglin 已提交
112 113
});
```
D
donglin 已提交
114 115 116 117 118 119 120 121 122

## appManager.isRamConstrainedDevice

isRamConstrainedDevice(callback: AsyncCallback\<boolean>): void;

查询是否为ram受限设备。

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

D
donglin 已提交
123
**返回值:**
D
donglin 已提交
124

D
donglin 已提交
125 126 127
  | 类型 | 说明 | 
  | -------- | -------- |
  | AsyncCallback&lt;boolean&gt; |以回调方式返回接口运行结果及当前设备是否为ram受限设备,可进行错误处理或其他自定义处理。true:当前设备为ram受限设备,false:当前设备为非ram受限设备。 | 
D
donglin 已提交
128

D
donglin 已提交
129 130 131 132 133 134 135 136
**错误码**

| 错误码ID | 错误信息 |
| ------- | -------- |
| 16000050 | Internal error. |

以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)

D
donglin 已提交
137
**示例:**
138

D
donglin 已提交
139 140
```ts
appManager.isRamConstrainedDevice((err, data) => {
141
    if (err.code !== 0) {
D
donglin 已提交
142 143 144 145
        console.log("isRamConstrainedDevice faile, err: " + JSON.stringify(err));
    } else {
        console.log("The result of isRamConstrainedDevice is:" + JSON.stringify(data));
    }
D
donglin 已提交
146 147
})
```
D
donglin 已提交
148 149 150 151 152 153 154 155 156 157 158 159 160

## appManager.getAppMemorySize

getAppMemorySize(): Promise\<number>;

获取应用程序的内存大小。

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

**返回值:**

  | 类型 | 说明 | 
  | -------- | -------- |
D
donglin 已提交
161
  | Promise&lt;number&gt; | 以Promise方式返回接口运行结果及应用程序内存大小,可进行错误处理或其他自定义处理。 | 
D
donglin 已提交
162

D
donglin 已提交
163 164 165 166 167 168 169 170
**错误码**

| 错误码ID | 错误信息 |
| ------- | -------- |
| 16000050 | Internal error. |

以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)

D
donglin 已提交
171
**示例:**
172

D
donglin 已提交
173 174
```ts
appManager.getAppMemorySize().then((data) => {
D
donglin 已提交
175
    console.log("The size of app memory is:" + JSON.stringify(data));
D
donglin 已提交
176
}).catch((error) => {
D
donglin 已提交
177
    console.log("error:" + JSON.stringify(error));
D
donglin 已提交
178 179
});
```
D
donglin 已提交
180 181 182 183 184 185 186 187 188

## appManager.getAppMemorySize

getAppMemorySize(callback: AsyncCallback\<number>): void;

获取应用程序的内存大小。

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

D
donglin 已提交
189
**返回值:**
D
donglin 已提交
190

D
donglin 已提交
191 192 193
  | 类型 | 说明 | 
  | -------- | -------- |
  |AsyncCallback&lt;number&gt; |以回调方式返回接口运行结果及应用程序内存大小,可进行错误处理或其他自定义处理。 | 
D
donglin 已提交
194

D
donglin 已提交
195 196 197 198 199 200 201 202
**错误码**

| 错误码ID | 错误信息 |
| ------- | -------- |
| 16000050 | Internal error. |

以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)

D
donglin 已提交
203
**示例:**
204

D
donglin 已提交
205 206
```ts
appManager.getAppMemorySize((err, data) => {
207
    if (err.code !== 0) {
D
donglin 已提交
208 209 210 211
        console.log("getAppMemorySize faile, err: " + JSON.stringify(err));
    } else {
        console.log("The size of app memory is:" + JSON.stringify(data));
    }
D
donglin 已提交
212 213
})
```
M
m00512953 已提交
214

D
donglin 已提交
215
## appManager.getProcessRunningInformation
D
donglin 已提交
216 217 218 219 220 221 222 223 224

getProcessRunningInformation(): Promise\<Array\<ProcessRunningInformation>>;

获取有关运行进程的信息。

**需要权限**:ohos.permission.GET_RUNNING_INFO

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

D
fix  
donglin 已提交
225 226
**系统API**: 此接口为系统接口,三方应用不支持调用。

D
donglin 已提交
227 228 229 230
**返回值:**

| 类型 | 说明 |
| -------- | -------- |
D
donglin 已提交
231
| Promise\<Array\<[ProcessRunningInformation](js-apis-inner-application-processRunningInformation.md)>> | 以Promise方式返回接口运行结果及有关运行进程的信息,可进行错误处理或其他自定义处理。 |
D
donglin 已提交
232

D
donglin 已提交
233 234 235 236 237 238 239 240
**错误码**

| 错误码ID | 错误信息 |
| ------- | -------- |
| 16000050 | Internal error. |

以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)

D
donglin 已提交
241
**示例:**
242

D
donglin 已提交
243 244
```ts
appManager.getProcessRunningInformation().then((data) => {
D
donglin 已提交
245
    console.log("The process running information is:" + JSON.stringify(data));
D
donglin 已提交
246
}).catch((error) => {
D
donglin 已提交
247
    console.log("error:" + JSON.stringify(error));
D
donglin 已提交
248 249
});
```
D
donglin 已提交
250

M
m00512953 已提交
251
## appManager.getProcessRunningInformation<sup>9+</sup>
D
donglin 已提交
252 253 254 255 256 257 258 259 260

getProcessRunningInformation(callback: AsyncCallback\<Array\<ProcessRunningInformation>>): void;

获取有关运行进程的信息。

**需要权限**:ohos.permission.GET_RUNNING_INFO

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

D
ability  
donglin 已提交
261 262
**系统API**: 此接口为系统接口,三方应用不支持调用。

D
donglin 已提交
263
**返回值:**
D
donglin 已提交
264

D
donglin 已提交
265 266 267
| 类型 | 说明 |
| -------- | -------- |
|AsyncCallback\<Array\<[ProcessRunningInformation](js-apis-inner-application-processRunningInformation.md)>> | 以回调方式返回接口运行结果及有关运行进程的信息,可进行错误处理或其他自定义处理。 |
D
donglin 已提交
268

D
donglin 已提交
269 270 271 272 273 274 275 276
**错误码**

| 错误码ID | 错误信息 |
| ------- | -------- |
| 16000050 | Internal error. |

以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)

D
donglin 已提交
277
**示例:**
278

D
donglin 已提交
279 280
```ts
appManager.getProcessRunningInformation((err, data) => {
281
    if (err.code !== 0) {
D
donglin 已提交
282 283 284 285
        console.log("getProcessRunningInformation faile, err: " + JSON.stringify(err));
    } else {
        console.log("The process running information is:" + JSON.stringify(data));
    }
D
donglin 已提交
286 287
})
```
D
donglin 已提交
288 289 290 291 292

## appManager.on

on(type: "applicationState", observer: ApplicationStateObserver): number;

293
注册全部应用程序的状态观测器。
D
donglin 已提交
294 295 296 297 298 299 300 301 302 303 304

**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

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

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
D
donglin 已提交
305
| type | string | 是 | 调用接口类型,固定填"applicationState"字符串。 |
D
donglin 已提交
306 307 308 309 310 311
| observer | [ApplicationStateObserver](./js-apis-inner-application-applicationStateObserver.md) | 是 | 应用状态观测器,用于观测应用的生命周期变化。 |

**返回值:**

| 类型 | 说明 |
| --- | --- |
312
| number | 已注册观测器的数字代码,可用于off接口取消注册观测器。|
D
donglin 已提交
313

D
donglin 已提交
314 315 316 317 318 319 320 321
**错误码**

| 错误码ID | 错误信息 |
| ------- | -------- |
| 16000050 | Internal error. |

以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)

D
donglin 已提交
322
**示例:**
323

D
donglin 已提交
324
```ts
325
let applicationStateObserver = {
D
donglin 已提交
326
    onForegroundApplicationChanged(appStateData) {
327
        console.log(`[appManager] onForegroundApplicationChanged: ${JSON.stringify(appStateData)}`);
D
donglin 已提交
328 329
    },
    onAbilityStateChanged(abilityStateData) {
330
        console.log(`[appManager] onAbilityStateChanged: ${JSON.stringify(abilityStateData)}`);
D
donglin 已提交
331 332
    },
    onProcessCreated(processData) {
333
        console.log(`[appManager] onProcessCreated: ${JSON.stringify(processData)}`);
D
donglin 已提交
334 335
    },
    onProcessDied(processData) {
336
        console.log(`[appManager] onProcessDied: ${JSON.stringify(processData)}`);
D
donglin 已提交
337 338
    },
    onProcessStateChanged(processData) {
339
        console.log(`[appManager] onProcessStateChanged: ${JSON.stringify(processData)}`);
D
donglin 已提交
340
    }
D
donglin 已提交
341 342
}
try {
D
donglin 已提交
343 344
    const observerId = appManager.on('applicationState', applicationStateObserver);
    console.log(`[appManager] observerCode: ${observerId}`);
D
donglin 已提交
345
} catch (paramError) {
346
    console.log(`[appManager] error: ${paramError.code}, ${paramError.message} `);
D
donglin 已提交
347 348
}
```
D
donglin 已提交
349 350 351 352 353

## appManager.on

on(type: "applicationState", observer: ApplicationStateObserver, bundleNameList: Array\<string>): number;

354
注册指定应用程序的状态观测器。
D
donglin 已提交
355 356 357 358 359 360 361 362 363 364 365

**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

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

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
D
donglin 已提交
366
| type | string | 是 | 调用接口类型,固定填"applicationState"字符串。 |
D
donglin 已提交
367
| observer | [ApplicationStateObserver](./js-apis-inner-application-applicationStateObserver.md) | 是 | 应用状态观测器,用于观测应用的生命周期变化。 |
368
| bundleNameList | `Array<string>` | 是 | 表示需要注册监听的bundleName数组。最大值128。 |
D
donglin 已提交
369

D
donglin 已提交
370 371 372 373 374 375
**返回值:**

| 类型 | 说明 |
| --- | --- |
| number | 已注册观测器的数字代码,可用于off接口注销观测器。|

D
donglin 已提交
376 377 378 379 380 381 382 383
**错误码**

| 错误码ID | 错误信息 |
| ------- | -------- |
| 16000050 | Internal error. |

以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)

D
donglin 已提交
384
**示例:**
385

D
donglin 已提交
386
```ts
387
let applicationStateObserver = {
D
donglin 已提交
388
    onForegroundApplicationChanged(appStateData) {
389
        console.log(`[appManager] onForegroundApplicationChanged: ${JSON.stringify(appStateData)}`);
D
donglin 已提交
390 391
    },
    onAbilityStateChanged(abilityStateData) {
392
        console.log(`[appManager] onAbilityStateChanged: ${JSON.stringify(abilityStateData)}`);
D
donglin 已提交
393 394
    },
    onProcessCreated(processData) {
395
        console.log(`[appManager] onProcessCreated: ${JSON.stringify(processData)}`);
D
donglin 已提交
396 397
    },
    onProcessDied(processData) {
398
        console.log(`[appManager] onProcessDied: ${JSON.stringify(processData)}`);
D
donglin 已提交
399 400
    },
    onProcessStateChanged(processData) {
401
        console.log(`[appManager] onProcessStateChanged: ${JSON.stringify(processData)}`);
D
donglin 已提交
402
    }
D
donglin 已提交
403
}
404
let bundleNameList = ['bundleName1', 'bundleName2'];
D
donglin 已提交
405
try {
D
donglin 已提交
406 407
    const observerId = appManager.on("applicationState", applicationStateObserver, bundleNameList);
    console.log(`[appManager] observerCode: ${observerId}`);
D
donglin 已提交
408
} catch (paramError) {
409
    console.log(`[appManager] error: ${paramError.code}, ${paramError.message} `);
D
donglin 已提交
410
}
411
```
D
donglin 已提交
412 413 414 415 416 417 418 419 420 421 422 423 424 425

## appManager.off

off(type: "applicationState", observerId: number,  callback: AsyncCallback\<void>): void;

取消注册应用程序状态观测器。

**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

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

**参数:**
426

D
donglin 已提交
427 428
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
D
donglin 已提交
429 430
| type | string | 是 | 调用接口类型,固定填"applicationState"字符串。 |
| observerId | number | 是 | 表示观测器的编号代码。 |
D
donglin 已提交
431
| callback | AsyncCallback\<void> | 是 | 以回调方式返回接口运行结果,可进行错误处理或其他自定义处理。 |
D
donglin 已提交
432

D
donglin 已提交
433 434 435 436 437 438 439 440
**错误码**

| 错误码ID | 错误信息 |
| ------- | -------- |
| 16000050 | Internal error. |

以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)

D
donglin 已提交
441
**示例:**
442

D
donglin 已提交
443
```ts
D
donglin 已提交
444
let observeId: int = 0;
D
donglin 已提交
445

D
donglin 已提交
446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472
// 1.注册应用状态监听器
let applicationStateObserver = {
    onForegroundApplicationChanged(appStateData) {
        console.log(`[appManager] onForegroundApplicationChanged: ${JSON.stringify(appStateData)}`);
    },
    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)}`);
    }
}
let bundleNameList = ['bundleName1', 'bundleName2'];
try {
    observerId = appManager.on("applicationState", applicationStateObserver, bundleNameList);
    console.log(`[appManager] observerCode: ${observerId}`);
} catch (paramError) {
    console.log(`[appManager] error: ${paramError.code}, ${paramError.message} `);
}

// 2.注销应用状态监听器
D
donglin 已提交
473
function unregisterApplicationStateObserverCallback(err) {
474
    if (err.code !== 0) {
D
donglin 已提交
475 476 477
        console.log("unregisterApplicationStateObserverCallback faile, err: " + JSON.stringify(err));
    } else {
        console.log("unregisterApplicationStateObserverCallback success.");
D
donglin 已提交
478
    }
D
donglin 已提交
479 480
}
try {
D
donglin 已提交
481
    appManager.off("applicationState", observerId, unregisterApplicationStateObserverCallback);
D
donglin 已提交
482 483 484 485
} catch (paramError) {
    console.log('error: ' + paramError.code + ', ' + paramError.message);
}
```
D
donglin 已提交
486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502

## appManager.off

off(type: "applicationState", observerId: number): Promise\<void>;

取消注册应用程序状态观测器。

**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

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

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
D
donglin 已提交
503 504
| type | string | 是 | 调用接口类型,固定填"applicationState"字符串。 |
| observerId | number | 是 | 表示观测器的编号代码。 |
D
donglin 已提交
505 506 507 508 509

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
D
donglin 已提交
510
| Promise\<void> | 以Promise方式返回接口运行结果,可进行错误处理或其他自定义处理。 |
D
donglin 已提交
511

D
donglin 已提交
512 513 514 515 516 517 518 519
**错误码**

| 错误码ID | 错误信息 |
| ------- | -------- |
| 16000050 | Internal error. |

以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)

D
donglin 已提交
520
**示例:**
521

D
donglin 已提交
522
```ts
D
donglin 已提交
523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549
let observeId: int = 0;

// 1.注册应用状态监听器
let applicationStateObserver = {
    onForegroundApplicationChanged(appStateData) {
        console.log(`[appManager] onForegroundApplicationChanged: ${JSON.stringify(appStateData)}`);
    },
    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)}`);
    }
}
let bundleNameList = ['bundleName1', 'bundleName2'];
try {
    observerId = appManager.on("applicationState", applicationStateObserver, bundleNameList);
    console.log(`[appManager] observerCode: ${observerId}`);
} catch (paramError) {
    console.log(`[appManager] error: ${paramError.code}, ${paramError.message} `);
}
D
donglin 已提交
550
    
D
donglin 已提交
551
// 2.注销应用状态监听器
D
donglin 已提交
552
try {
D
donglin 已提交
553
    appManager.off("applicationState", observerId).then((data) => {
D
donglin 已提交
554
        console.log("unregisterApplicationStateObserver success, data: " + JSON.stringify(data));
D
donglin 已提交
555
    }).catch((err) => {
D
donglin 已提交
556
        console.log("unregisterApplicationStateObserver faile, err: " + JSON.stringify(err));
D
donglin 已提交
557 558 559 560 561
    })
} catch (paramError) {
    console.log('error: ' + paramError.code + ', ' + paramError.message);
}
```
D
donglin 已提交
562 563 564 565 566

## appManager.getForegroundApplications

getForegroundApplications(callback: AsyncCallback\<Array\<AppStateData>>): void;

D
donglin 已提交
567
获取当前所有前台应用的信息。该应用信息由[AppStateData](js-apis-inner-application-appStateData.md)定义。
D
donglin 已提交
568 569 570 571 572 573 574

**需要权限**:ohos.permission.GET_RUNNING_INFO

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

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

D
donglin 已提交
575
**错误码**
D
donglin 已提交
576

D
donglin 已提交
577 578 579
| 错误码ID | 错误信息 |
| ------- | -------- |
| 16000050 | Internal error. |
D
donglin 已提交
580

D
donglin 已提交
581
以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)
M
m00512953 已提交
582 583 584 585 586

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
D
donglin 已提交
587
| callback | AsyncCallback\<Array\<[AppStateData](js-apis-inner-application-appStateData.md)>> | 是 | 以Promise方式返回接口运行结果及应用状态数据数组,可进行错误处理或其他自定义处理。 |
M
m00512953 已提交
588 589

**示例:**
590

D
donglin 已提交
591 592
```ts
function getForegroundApplicationsCallback(err, data) {
593
    if (err.code !== 0) {
D
donglin 已提交
594
        console.log("getForegroundApplicationsCallback fail, err: " + JSON.stringify(err));
M
m00512953 已提交
595
    } else {
D
donglin 已提交
596
        console.log("getForegroundApplicationsCallback success, data: " + JSON.stringify(data));
M
m00512953 已提交
597
    }
D
donglin 已提交
598 599
}
try {
D
donglin 已提交
600
    appManager.getForegroundApplications(getForegroundApplicationsCallback);
D
donglin 已提交
601
} catch (paramError) {
D
donglin 已提交
602
    console.log("error: " + paramError.code + ", " + paramError.message);
D
donglin 已提交
603 604
}
```
M
m00512953 已提交
605

D
donglin 已提交
606
## appManager.getForegroundApplications
D
donglin 已提交
607 608 609

getForegroundApplications(): Promise\<Array\<AppStateData>>;

D
donglin 已提交
610
获取当前所有前台应用的信息。该应用信息由[AppStateData](js-apis-inner-application-appStateData.md)定义。
D
donglin 已提交
611 612 613 614 615 616 617 618 619 620 621

**需要权限**:ohos.permission.GET_RUNNING_INFO

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

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

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
D
donglin 已提交
622
| Promise\<Array\<[AppStateData](js-apis-inner-application-appStateData.md)>> | 返回前台进程应用程序的数组。 |
D
donglin 已提交
623

D
donglin 已提交
624 625 626 627 628 629 630 631
**错误码**

| 错误码ID | 错误信息 |
| ------- | -------- |
| 16000050 | Internal error. |

以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)

D
donglin 已提交
632
**示例:**
633

D
donglin 已提交
634 635
```ts
appManager.getForegroundApplications().then((data) => {
D
donglin 已提交
636
    console.log("getForegroundApplications success, data: " + JSON.stringify(data));
D
donglin 已提交
637
}).catch((err) => {
D
donglin 已提交
638
    console.log("getForegroundApplications fail, err: " + JSON.stringify(err));
D
donglin 已提交
639 640
})
```
D
donglin 已提交
641

D
donglin 已提交
642
## appManager.killProcessWithAccount
D
donglin 已提交
643 644 645 646 647

killProcessWithAccount(bundleName: string, accountId: number): Promise\<void\>

切断account进程(Promise形式)。

D
donglin 已提交
648
**需要权限**:ohos.permission.CLEAN_BACKGROUND_PROCESSES,ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS,当accountId为当前用户时,不需要校验ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS权限。
D
donglin 已提交
649 650 651 652 653 654 655

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

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

**参数:**

656 657 658 659
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| bundleName | string | 是 | 应用Bundle名称。 |
| accountId | number | 是 | 系统帐号的帐号ID,详情参考[getCreatedOsAccountsCount](js-apis-osAccount.md#getosaccountlocalidfromprocess)。 |
D
donglin 已提交
660

D
donglin 已提交
661 662 663 664 665 666 667 668
**错误码**

| 错误码ID | 错误信息 |
| ------- | -------- |
| 16000050 | Internal error. |

以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)

D
donglin 已提交
669 670
**示例:**

M
m00512953 已提交
671
```ts
672 673
let bundleName = 'bundleName';
let accountId = 0;
D
donglin 已提交
674
try {
D
donglin 已提交
675 676
    appManager.killProcessWithAccount(bundleName, accountId).then(() => {
        console.log("killProcessWithAccount success");
D
donglin 已提交
677
    }).catch((err) => {
D
donglin 已提交
678
        console.log("killProcessWithAccount fail, err: " + JSON.stringify(err));
D
donglin 已提交
679
    })
D
donglin 已提交
680
} catch (paramError) {
D
donglin 已提交
681
    console.log("error: " + paramError.code + ", " + paramError.message);
D
donglin 已提交
682
}
D
donglin 已提交
683 684 685
```


D
donglin 已提交
686
## appManager.killProcessWithAccount
D
donglin 已提交
687 688 689 690 691 692 693 694 695

killProcessWithAccount(bundleName: string, accountId: number, callback: AsyncCallback\<void\>): void

切断account进程(callback形式)。

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

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

D
donglin 已提交
696
**需要权限**:ohos.permission.CLEAN_BACKGROUND_PROCESSES,ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS,当accountId为当前用户时,不需要校验ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS权限。
D
donglin 已提交
697 698 699 700 701

**参数:**

  | 参数名 | 类型 | 必填 | 说明 | 
  | -------- | -------- | -------- | -------- |
702
  | bundleName | string | 是 | 应用Bundle名称。 | 
D
donglin 已提交
703
  | accountId | number | 是 | 系统帐号的帐号ID,详情参考[getCreatedOsAccountsCount](js-apis-osAccount.md#getosaccountlocalidfromprocess)。 | 
D
donglin 已提交
704
  | callback | AsyncCallback\<void\> | 是 | 以回调方式返回接口运行结果,可进行错误处理或其他自定义处理。 | 
D
donglin 已提交
705

D
donglin 已提交
706 707 708 709 710 711 712 713
**错误码**

| 错误码ID | 错误信息 |
| ------- | -------- |
| 16000050 | Internal error. |

以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)

D
donglin 已提交
714 715
**示例:**

M
m00512953 已提交
716
```ts
D
donglin 已提交
717 718
let bundleName = 'bundleName';
let accountId = 0;
D
donglin 已提交
719
function killProcessWithAccountCallback(err, data) {
720
    if (err.code !== 0) {
D
donglin 已提交
721
        console.log("killProcessWithAccountCallback fail, err: " + JSON.stringify(err));
D
donglin 已提交
722
    } else {
D
donglin 已提交
723
        console.log("killProcessWithAccountCallback success.");
D
donglin 已提交
724
    }
D
donglin 已提交
725
}
D
donglin 已提交
726
appManager.killProcessWithAccount(bundleName, accountId, killProcessWithAccountCallback);
D
donglin 已提交
727 728
```

D
donglin 已提交
729
## appManager.killProcessesByBundleName
D
donglin 已提交
730 731 732

killProcessesByBundleName(bundleName: string, callback: AsyncCallback\<void>);

733
通过Bundle名称终止进程。
D
donglin 已提交
734 735 736 737 738 739 740 741 742 743 744

**需要权限**:ohos.permission.CLEAN_BACKGROUND_PROCESSES

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

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

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
745
| bundleName | string | 是 | 表示Bundle名称。 |
D
donglin 已提交
746
| callback | AsyncCallback\<void> | 是 | 以回调方式返回接口运行结果,可进行错误处理或其他自定义处理。 |
D
donglin 已提交
747

D
donglin 已提交
748 749 750 751 752 753 754 755
**错误码**

| 错误码ID | 错误信息 |
| ------- | -------- |
| 16000050 | Internal error. |

以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)

D
donglin 已提交
756
**示例:**
757

D
donglin 已提交
758
```ts
D
donglin 已提交
759
let bundleName = 'bundleName';
D
donglin 已提交
760
function killProcessesByBundleNameCallback(err, data) {
761
    if (err.code !== 0) {
D
donglin 已提交
762
        console.log("killProcessesByBundleNameCallback fail, err: " + JSON.stringify(err));
M
m00512953 已提交
763
    } else {
D
donglin 已提交
764
        console.log("killProcessesByBundleNameCallback success.");
D
donglin 已提交
765
    }
D
donglin 已提交
766 767
}
try {
D
donglin 已提交
768
    appManager.killProcessesByBundleName(bundleName, killProcessesByBundleNameCallback);
D
donglin 已提交
769
} catch (paramError) {
D
donglin 已提交
770
    console.log("error: " + paramError.code + ", " + paramError.message);
D
donglin 已提交
771 772
}
```
D
donglin 已提交
773

D
donglin 已提交
774
## appManager.killProcessesByBundleName
D
donglin 已提交
775 776 777

killProcessesByBundleName(bundleName: string): Promise\<void>;

778
通过Bundle名称终止进程。
D
donglin 已提交
779 780 781 782 783 784 785 786 787 788 789

**需要权限**:ohos.permission.CLEAN_BACKGROUND_PROCESSES

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

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

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
790
| bundleName | string | 是 | 表示Bundle名称。 |
D
donglin 已提交
791 792 793 794 795 796 797

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| Promise\<void> | 返回执行结果。 |

D
donglin 已提交
798 799 800 801 802 803 804 805
**错误码**

| 错误码ID | 错误信息 |
| ------- | -------- |
| 16000050 | Internal error. |

以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)

D
donglin 已提交
806
**示例:**
807

D
donglin 已提交
808
```ts
809
let bundleName = 'bundleName';
D
donglin 已提交
810 811
try {
    appManager.killProcessesByBundleName(bundleName).then((data) => {
D
donglin 已提交
812
        console.log("killProcessesByBundleName success.");
D
donglin 已提交
813
    }).catch((err) => {
D
donglin 已提交
814
        console.log("killProcessesByBundleName fail, err: " + JSON.stringify(err));
D
donglin 已提交
815
    })
D
donglin 已提交
816
} catch (paramError) {
D
donglin 已提交
817
    console.log("error: " + paramError.code + ", " + paramError.message);
D
donglin 已提交
818 819
}
```
D
donglin 已提交
820

D
donglin 已提交
821
## appManager.clearUpApplicationData
D
donglin 已提交
822 823 824

clearUpApplicationData(bundleName: string, callback: AsyncCallback\<void>);

825
通过Bundle名称清除应用数据。
D
donglin 已提交
826 827 828 829 830 831 832 833 834 835 836

**需要权限**:ohos.permission.CLEAN_APPLICATION_DATA

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

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

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
837
| bundleName | string | 是 | 表示Bundle名称。 |
D
donglin 已提交
838
| callback | AsyncCallback\<void> | 是 | 以回调方式返回接口运行结果,可进行错误处理或其他自定义处理。 |
D
donglin 已提交
839

D
donglin 已提交
840 841 842 843 844 845 846 847
**错误码**

| 错误码ID | 错误信息 |
| ------- | -------- |
| 16000050 | Internal error. |

以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)

D
donglin 已提交
848
**示例:**
849

D
donglin 已提交
850
```ts
851
let bundleName = 'bundleName';
D
donglin 已提交
852
function clearUpApplicationDataCallback(err, data) {
M
m00512953 已提交
853
    if (err) {
D
donglin 已提交
854
        console.log("clearUpApplicationDataCallback fail, err: " + JSON.stringify(err));
M
m00512953 已提交
855
    } else {
D
donglin 已提交
856
        console.log("clearUpApplicationDataCallback success.");
D
donglin 已提交
857
    }
D
donglin 已提交
858 859
}
try {
D
donglin 已提交
860
    appManager.clearUpApplicationData(bundleName, clearUpApplicationDataCallback);
D
donglin 已提交
861
} catch (paramError) {
D
donglin 已提交
862
    console.log("error: " + paramError.code + ", " + paramError.message);
D
donglin 已提交
863 864
}
```
D
donglin 已提交
865

D
donglin 已提交
866
## appManager.clearUpApplicationData
D
donglin 已提交
867 868 869

clearUpApplicationData(bundleName: string): Promise\<void>;

870
通过Bundle名称清除应用数据。
D
donglin 已提交
871 872 873 874 875 876 877 878 879 880 881

**需要权限**:ohos.permission.CLEAN_APPLICATION_DATA

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

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

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
882
| bundleName | string | 是 | 表示Bundle名称。 |
D
donglin 已提交
883 884 885 886 887

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
D
donglin 已提交
888
| Promise\<void> | 以Promise方式返回接口运行结果,可进行错误处理或其他自定义处理。 |
D
donglin 已提交
889

D
donglin 已提交
890 891 892 893 894 895 896 897
**错误码**

| 错误码ID | 错误信息 |
| ------- | -------- |
| 16000050 | Internal error. |

以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)

D
donglin 已提交
898
**示例:**
899

D
donglin 已提交
900
```ts
901
let bundleName = 'bundleName';
D
donglin 已提交
902 903
try {
    appManager.clearUpApplicationData(bundleName).then((data) => {
D
donglin 已提交
904
        console.log("clearUpApplicationData success.");
D
donglin 已提交
905
    }).catch((err) => {
D
donglin 已提交
906
        console.log("clearUpApplicationData fail, err: " + JSON.stringify(err));
D
donglin 已提交
907 908
    })
} catch (paramError) {
D
donglin 已提交
909
    console.log("error: " + paramError.code + ", " + paramError.message);
D
donglin 已提交
910 911
}
```
D
donglin 已提交
912

D
donglin 已提交
913
## ApplicationState
D
donglin 已提交
914

D
donglin 已提交
915 916
应用状态,该类型为枚举,可配合[AbilityStateData](js-apis-inner-application-appStateData.md)返回相应的应用状态。

D
donglin 已提交
917 918 919 920
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

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

921
| 名称                 | 值  | 说明                               |
D
donglin 已提交
922 923 924 925 926 927 928
| -------------------- | --- | --------------------------------- |
| STATE_CREATE    | 1   |   当应用在创建中的时候处于的状态。         |
| STATE_FOREGROUND          | 2   |      当应用切换到前台的时候处于的状态。            |
| STATE_ACTIVE  | 3   |         当应用在获焦的时候处于的状态。     |
| STATE_BACKGROUND        | 4   |       当应用处于后台不可见时处于的状态。           |
| STATE_DESTROY        | 5   |           当应用在销毁的时候处于的状态。       |

D
donglin 已提交
929
## ProcessState
D
donglin 已提交
930

D
donglin 已提交
931 932
进程状态,该类型为枚举,可配合[ProcessData](js-apis-inner-application-processData.md)返回相应的进程状态。

D
donglin 已提交
933 934 935 936
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

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

937
| 名称                 | 值  | 说明                               |
D
donglin 已提交
938 939 940 941 942 943
| -------------------- | --- | --------------------------------- |
| STATE_CREATE    | 1   |      当进程在创建中的时候处于的状态。       |
| STATE_FOREGROUND          | 2   |            当进程切换到前台的时候处于的状态。      |
| STATE_ACTIVE  | 3   |          当进程在获焦的时候处于的状态。   |
| STATE_BACKGROUND        | 4   |       当进程处于后台不可见时处于的状态。           |
| STATE_DESTROY        | 5   |         当进程在销毁的时候处于的状态。         |