js-apis-app-ability-appManager.md 25.1 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 29 30

**示例:**
    
D
donglin 已提交
31 32
```ts
appManager.isRunningInStabilityTest((err, flag) => {
D
donglin 已提交
33 34 35 36 37
    if (err.code != 0) {
        conseole.log("isRunningInStabilityTest faile, err: " + JSON.stringify(err));
    } else {
        console.log("The result of isRunningInStabilityTest is:" + JSON.stringify(flag));
    }
D
donglin 已提交
38 39
})  
```
D
donglin 已提交
40 41


D
donglin 已提交
42
## appManager.isRunningInStabilityTest
D
donglin 已提交
43 44 45 46 47 48 49 50 51 52 53

static isRunningInStabilityTest(): Promise<boolean>

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

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

**返回值:**

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

**示例:**
    
D
donglin 已提交
58 59
```ts
appManager.isRunningInStabilityTest().then((flag) => {
D
donglin 已提交
60
    console.log("The result of isRunningInStabilityTest is:" + JSON.stringify(flag));
D
donglin 已提交
61
}).catch((error) => {
D
donglin 已提交
62
    console.log("error:" + JSON.stringify(error));
D
donglin 已提交
63 64
});
```
D
donglin 已提交
65 66 67 68 69 70 71 72 73 74 75 76 77 78


## appManager.isRamConstrainedDevice

isRamConstrainedDevice(): Promise\<boolean>;

查询是否为ram受限设备。

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

**返回值:**

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

**示例:**
    
D
donglin 已提交
83 84
```ts
appManager.isRamConstrainedDevice().then((data) => {
D
donglin 已提交
85
    console.log("The result of isRamConstrainedDevice is:" + JSON.stringify(data));
D
donglin 已提交
86
}).catch((error) => {
D
donglin 已提交
87
    console.log("error:" + JSON.stringify(error));
D
donglin 已提交
88 89
});
```
D
donglin 已提交
90 91 92 93 94 95 96 97 98

## appManager.isRamConstrainedDevice

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

查询是否为ram受限设备。

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

D
donglin 已提交
99
**返回值:**
D
donglin 已提交
100

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

**示例:**
    
D
donglin 已提交
107 108
```ts
appManager.isRamConstrainedDevice((err, data) => {
D
donglin 已提交
109 110 111 112 113
    if (err.code != 0) {
        console.log("isRamConstrainedDevice faile, err: " + JSON.stringify(err));
    } else {
        console.log("The result of isRamConstrainedDevice is:" + JSON.stringify(data));
    }
D
donglin 已提交
114 115
})
```
D
donglin 已提交
116 117 118 119 120 121 122 123 124 125 126 127 128

## appManager.getAppMemorySize

getAppMemorySize(): Promise\<number>;

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

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

**返回值:**

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

**示例:**
    
D
donglin 已提交
133 134
```ts
appManager.getAppMemorySize().then((data) => {
D
donglin 已提交
135
    console.log("The size of app memory is:" + JSON.stringify(data));
D
donglin 已提交
136
}).catch((error) => {
D
donglin 已提交
137
    console.log("error:" + JSON.stringify(error));
D
donglin 已提交
138 139
});
```
D
donglin 已提交
140 141 142 143 144 145 146 147 148

## appManager.getAppMemorySize

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

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

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

D
donglin 已提交
149
**返回值:**
D
donglin 已提交
150

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

**示例:**
    
D
donglin 已提交
157 158
```ts
appManager.getAppMemorySize((err, data) => {
D
donglin 已提交
159 160 161 162 163
    if (err.code != 0) {
        console.log("getAppMemorySize faile, err: " + JSON.stringify(err));
    } else {
        console.log("The size of app memory is:" + JSON.stringify(data));
    }
D
donglin 已提交
164 165
})
```
M
m00512953 已提交
166 167

## appManager.getProcessRunningInformation<sup>9+</sup>
D
donglin 已提交
168

D
donglin 已提交
169
getProcessRunningInformation(): Promise\<Array\<[ProcessRunningInformation](js-apis-inner-application-processRunningInformation.md)>>;
D
donglin 已提交
170 171 172 173 174 175 176

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

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

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

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

D
donglin 已提交
179 180 181 182
**返回值:**

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

**示例:**
    
D
donglin 已提交
187 188
```ts
appManager.getProcessRunningInformation().then((data) => {
D
donglin 已提交
189
    console.log("The process running information is:" + JSON.stringify(data));
D
donglin 已提交
190
}).catch((error) => {
D
donglin 已提交
191
    console.log("error:" + JSON.stringify(error));
D
donglin 已提交
192 193
});
```
D
donglin 已提交
194

M
m00512953 已提交
195
## appManager.getProcessRunningInformation<sup>9+</sup>
D
donglin 已提交
196

D
donglin 已提交
197
getProcessRunningInformation(callback: AsyncCallback\<Array\<[ProcessRunningInformation](js-apis-inner-application-processRunningInformation.md)>>): void;
D
donglin 已提交
198 199 200 201 202 203 204

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

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

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

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

D
donglin 已提交
207
**返回值:**
D
donglin 已提交
208

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

**示例:**
    
D
donglin 已提交
215 216
```ts
appManager.getProcessRunningInformation((err, data) => {
D
donglin 已提交
217 218 219 220 221
    if (err.code != 0) {
        console.log("getProcessRunningInformation faile, err: " + JSON.stringify(err));
    } else {
        console.log("The process running information is:" + JSON.stringify(data));
    }
D
donglin 已提交
222 223
})
```
D
donglin 已提交
224 225 226

## appManager.on

D
donglin 已提交
227
on(type: "applicationState", observer: [ApplicationStateObserver](./js-apis-inner-application-applicationStateObserver.md)): number;
D
donglin 已提交
228

229
注册全部应用程序的状态观测器。
D
donglin 已提交
230 231 232 233 234 235 236 237 238 239 240

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

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

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

**参数:**

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

**返回值:**

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

**示例:**
    
D
donglin 已提交
252 253
```js
var applicationStateObserver = {
D
donglin 已提交
254
    onForegroundApplicationChanged(appStateData) {
D
donglin 已提交
255
        console.log('------------ onForegroundApplicationChanged -----------' + JSON.stringify(appStateData));
D
donglin 已提交
256 257
    },
    onAbilityStateChanged(abilityStateData) {
D
donglin 已提交
258
        console.log('------------ onAbilityStateChanged -----------' + JSON.stringify(abilityStateData));
D
donglin 已提交
259 260
    },
    onProcessCreated(processData) {
D
donglin 已提交
261
        console.log('------------ onProcessCreated -----------' + JSON.stringify(processData));
D
donglin 已提交
262 263
    },
    onProcessDied(processData) {
D
donglin 已提交
264
        console.log('------------ onProcessDied -----------' + JSON.stringify(processData));
D
donglin 已提交
265 266
    },
    onProcessStateChanged(processData) {
D
donglin 已提交
267
        console.log('------------ onProcessStateChanged -----------' + JSON.stringify(processData));
D
donglin 已提交
268
    }
D
donglin 已提交
269 270
}
try {
D
donglin 已提交
271
    const observerCode = appManager.on(applicationStateObserver);
D
donglin 已提交
272
    console.log('-------- observerCode: ---------' + observerCode);
D
donglin 已提交
273
} catch (paramError) {
D
donglin 已提交
274
    console.log('error: ' + paramError.code + ', ' + paramError.message);
D
donglin 已提交
275 276
}
```
D
donglin 已提交
277 278 279

## appManager.on

D
donglin 已提交
280
on(type: "applicationState", observer: [ApplicationStateObserver](./js-apis-inner-application-applicationStateObserver.md), bundleNameList: Array\<string>): number;
D
donglin 已提交
281

282
注册指定应用程序的状态观测器。
D
donglin 已提交
283 284 285 286 287 288 289 290 291 292 293

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

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

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

**参数:**

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

D
donglin 已提交
298 299 300 301 302 303
**返回值:**

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

D
donglin 已提交
304 305
**示例:**
    
D
donglin 已提交
306 307
```js
var applicationStateObserver = {
D
donglin 已提交
308
    onForegroundApplicationChanged(appStateData) {
D
donglin 已提交
309
        console.log('------------ onForegroundApplicationChanged -----------' + JSON.stringify(appStateData));
D
donglin 已提交
310 311
    },
    onAbilityStateChanged(abilityStateData) {
D
donglin 已提交
312
        console.log('------------ onAbilityStateChanged -----------' + JSON.stringify(abilityStateData));
D
donglin 已提交
313 314
    },
    onProcessCreated(processData) {
D
donglin 已提交
315
        console.log('------------ onProcessCreated -----------' + JSON.stringify(processData));
D
donglin 已提交
316 317
    },
    onProcessDied(processData) {
D
donglin 已提交
318
        console.log('------------ onProcessDied -----------' + JSON.stringify(processData));
D
donglin 已提交
319 320
    },
    onProcessStateChanged(processData) {
D
donglin 已提交
321
        console.log('------------ onProcessStateChanged -----------' + JSON.stringify(processData));
D
donglin 已提交
322
    }
D
donglin 已提交
323 324 325
}
var bundleNameList = ['bundleName1', 'bundleName2'];
try {
D
donglin 已提交
326
    const observerCode = appManager.on("applicationState", applicationStateObserver, bundleNameList);
D
donglin 已提交
327
    console.log('-------- observerCode: ---------', observerCode);
D
donglin 已提交
328
} catch (paramError) {
D
donglin 已提交
329
    console.log('error: ' + paramError.code + ', ' + paramError.message);
D
donglin 已提交
330 331
}
 ```
D
donglin 已提交
332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348

## appManager.off

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

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

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

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

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

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

**示例:**
    
D
donglin 已提交
355 356
```ts
var observerId = 100;
D
donglin 已提交
357

D
donglin 已提交
358
function unregisterApplicationStateObserverCallback(err) {
D
donglin 已提交
359 360 361 362
    if (err.code != 0) {
        console.log("unregisterApplicationStateObserverCallback faile, err: " + JSON.stringify(err));
    } else {
        console.log("unregisterApplicationStateObserverCallback success.");
D
donglin 已提交
363
    }
D
donglin 已提交
364 365 366 367 368 369 370
}
try {
    appManager.off(observerId, unregisterApplicationStateObserverCallback);
} catch (paramError) {
    console.log('error: ' + paramError.code + ', ' + paramError.message);
}
```
D
donglin 已提交
371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387

## appManager.off

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

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

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

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

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

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
D
donglin 已提交
388 389
| type | string | 是 | 调用接口类型,固定填"applicationState"字符串。 |
| observerId | number | 是 | 表示观测器的编号代码。 |
D
donglin 已提交
390 391 392 393 394

**返回值:**

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

**示例:**
    
D
donglin 已提交
399 400
```ts
var observerId = 100;
D
donglin 已提交
401
    
D
donglin 已提交
402 403
try {
    appManager.off(observerId).then((data) => {
D
donglin 已提交
404
        console.log("unregisterApplicationStateObserver success, data: " + JSON.stringify(data));
D
donglin 已提交
405
    }).catch((err) => {
D
donglin 已提交
406
        console.log("unregisterApplicationStateObserver faile, err: " + JSON.stringify(err));
D
donglin 已提交
407 408 409 410 411
    })
} catch (paramError) {
    console.log('error: ' + paramError.code + ', ' + paramError.message);
}
```
D
donglin 已提交
412 413 414

## appManager.getForegroundApplications

D
donglin 已提交
415
getForegroundApplications(callback: AsyncCallback\<Array\<[AppStateData](js-apis-inner-application-appStateData.md)>>): void;
D
donglin 已提交
416

417
获取前台的应用程序。
D
donglin 已提交
418 419 420 421 422 423 424 425 426 427 428

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

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

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

**参数:**

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

**示例:**
    
D
donglin 已提交
433 434
```ts
function getForegroundApplicationsCallback(err, data) {
D
donglin 已提交
435 436
    if (err.code != 0) {
        console.log("getForegroundApplicationsCallback fail, err: " + JSON.stringify(err));
D
donglin 已提交
437
    } else {
D
donglin 已提交
438
        console.log("getForegroundApplicationsCallback success, data: " + JSON.stringify(data));
D
donglin 已提交
439
    }
D
donglin 已提交
440 441
}
try {
D
donglin 已提交
442
    appManager.getForegroundApplications(getForegroundApplicationsCallback);
D
donglin 已提交
443
} catch (paramError) {
D
donglin 已提交
444
    console.log("error: " + paramError.code + ", " + paramError.message);
D
donglin 已提交
445 446
}
```
M
m00512953 已提交
447

D
donglin 已提交
448
## appManager.getForegroundApplications
M
m00512953 已提交
449

D
donglin 已提交
450
getForegroundApplications(callback: AsyncCallback\<Array\<[AppStateData](js-apis-inner-application-appStateData.md)>>): void;
M
m00512953 已提交
451 452 453 454 455 456 457 458 459 460 461 462 463

获取前台进程的应用程序。

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

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

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

**参数:**

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

**示例:**
    
D
donglin 已提交
468 469
```ts
function getForegroundApplicationsCallback(err, data) {
D
donglin 已提交
470 471
    if (err.code != 0) {
        console.log("getForegroundApplicationsCallback fail, err: " + JSON.stringify(err));
M
m00512953 已提交
472
    } else {
D
donglin 已提交
473
        console.log("getForegroundApplicationsCallback success, data: " + JSON.stringify(data));
M
m00512953 已提交
474
    }
D
donglin 已提交
475 476
}
try {
D
donglin 已提交
477
    appManager.getForegroundApplications(getForegroundApplicationsCallback);
D
donglin 已提交
478
} catch (paramError) {
D
donglin 已提交
479
    console.log("error: " + paramError.code + ", " + paramError.message);
D
donglin 已提交
480 481
}
```
M
m00512953 已提交
482

D
donglin 已提交
483
## appManager.getForegroundApplications
D
donglin 已提交
484

D
donglin 已提交
485
getForegroundApplications(): Promise\<Array\<[AppStateData](js-apis-inner-application-appStateData.md)>>;
D
donglin 已提交
486 487 488 489 490 491 492 493 494 495 496 497 498

获取前台进程的应用程序。

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

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

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

**返回值:**

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

**示例:**
    
D
donglin 已提交
503 504
```ts
appManager.getForegroundApplications().then((data) => {
D
donglin 已提交
505
    console.log("getForegroundApplications success, data: " + JSON.stringify(data));
D
donglin 已提交
506
}).catch((err) => {
D
donglin 已提交
507
    console.log("getForegroundApplications fail, err: " + JSON.stringify(err));
D
donglin 已提交
508 509
})
```
D
donglin 已提交
510

D
donglin 已提交
511
## appManager.killProcessWithAccount
D
donglin 已提交
512 513 514 515 516

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

切断account进程(Promise形式)。

D
donglin 已提交
517
**需要权限**:ohos.permission.CLEAN_BACKGROUND_PROCESSES,ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS,当accountId为当前用户时,不需要校验ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS权限。
D
donglin 已提交
518 519 520 521 522 523 524 525 526 527 528 529 530 531

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

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

**参数:**

  | 参数名 | 类型 | 必填 | 说明 | 
  | -------- | -------- | -------- | -------- |
  | bundleName | string | 是 | 应用包名。 | 
  | accountId | number | 是 | 系统帐号的帐号ID,详情参考[getCreatedOsAccountsCount](js-apis-osAccount.md#getosaccountlocalidfromprocess)。 | 

**示例:**

M
m00512953 已提交
532
```ts
D
donglin 已提交
533 534
var bundleName = 'bundleName';
var accountId = 0;
D
donglin 已提交
535
try {
D
donglin 已提交
536 537
    appManager.killProcessWithAccount(bundleName, accountId).then(() => {
        console.log("killProcessWithAccount success");
D
donglin 已提交
538
    }).catch((err) => {
D
donglin 已提交
539
        console.log("killProcessWithAccount fail, err: " + JSON.stringify(err));
D
donglin 已提交
540
    })
D
donglin 已提交
541
} catch (paramError) {
D
donglin 已提交
542
    console.log("error: " + paramError.code + ", " + paramError.message);
D
donglin 已提交
543
}
D
donglin 已提交
544 545 546
```


D
donglin 已提交
547
## appManager.killProcessWithAccount
D
donglin 已提交
548 549 550 551 552 553 554 555 556

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

切断account进程(callback形式)。

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

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

D
donglin 已提交
557
**需要权限**:ohos.permission.CLEAN_BACKGROUND_PROCESSES,ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS,当accountId为当前用户时,不需要校验ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS权限。
D
donglin 已提交
558 559 560 561 562 563 564

**参数:**

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

**示例:**

M
m00512953 已提交
569
```ts
D
donglin 已提交
570 571 572
var bundleName = 'bundleName';
var accountId = 0;
function killProcessWithAccountCallback(err, data) {
D
donglin 已提交
573 574
    if (err.code != 0) {
        console.log("killProcessWithAccountCallback fail, err: " + JSON.stringify(err));
D
donglin 已提交
575
    } else {
D
donglin 已提交
576
        console.log("killProcessWithAccountCallback success.");
D
donglin 已提交
577
    }
D
donglin 已提交
578
}
D
donglin 已提交
579
appManager.killProcessWithAccount(bundleName, accountId, killProcessWithAccountCallback);
D
donglin 已提交
580 581
```

D
donglin 已提交
582
## appManager.killProcessesByBundleName
D
donglin 已提交
583 584 585 586 587 588 589 590 591 592 593 594 595 596 597

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

通过包名终止进程。

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

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

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

**参数:**

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

**示例:**
    
D
donglin 已提交
603 604 605
```ts
var bundleName = 'bundleName';
function killProcessesByBundleNameCallback(err, data) {
D
donglin 已提交
606 607
    if (err.code != 0) {
        console.log("killProcessesByBundleNameCallback fail, err: " + JSON.stringify(err));
M
m00512953 已提交
608
    } else {
D
donglin 已提交
609
        console.log("killProcessesByBundleNameCallback success.");
D
donglin 已提交
610
    }
D
donglin 已提交
611 612
}
try {
D
donglin 已提交
613
    appManager.killProcessesByBundleName(bundleName, killProcessesByBundleNameCallback);
D
donglin 已提交
614
} catch (paramError) {
D
donglin 已提交
615
    console.log("error: " + paramError.code + ", " + paramError.message);
D
donglin 已提交
616 617
}
```
D
donglin 已提交
618

D
donglin 已提交
619
## appManager.killProcessesByBundleName
D
donglin 已提交
620 621 622 623 624 625 626 627 628 629 630 631 632 633 634

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

通过包名终止进程。

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

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

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

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
D
donglin 已提交
635
| bundleName | string | 是 | 表示应用包名。 |
D
donglin 已提交
636 637 638 639 640 641 642 643 644

**返回值:**

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

**示例:**
    
D
donglin 已提交
645 646 647 648
```ts
var bundleName = 'bundleName';
try {
    appManager.killProcessesByBundleName(bundleName).then((data) => {
D
donglin 已提交
649
        console.log("killProcessesByBundleName success.");
D
donglin 已提交
650
    }).catch((err) => {
D
donglin 已提交
651
        console.log("killProcessesByBundleName fail, err: " + JSON.stringify(err));
D
donglin 已提交
652
    })
D
donglin 已提交
653
} catch (paramError) {
D
donglin 已提交
654
    console.log("error: " + paramError.code + ", " + paramError.message);
D
donglin 已提交
655 656
}
```
D
donglin 已提交
657

D
donglin 已提交
658
## appManager.clearUpApplicationData
D
donglin 已提交
659 660 661 662 663 664 665 666 667 668 669 670 671 672 673

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

通过包名清除应用数据。

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

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

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

**参数:**

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

**示例:**
    
D
donglin 已提交
679 680 681
```ts
var bundleName = 'bundleName';
function clearUpApplicationDataCallback(err, data) {
M
m00512953 已提交
682
    if (err) {
D
donglin 已提交
683
        console.log("clearUpApplicationDataCallback fail, err: " + JSON.stringify(err));
M
m00512953 已提交
684
    } else {
D
donglin 已提交
685
        console.log("clearUpApplicationDataCallback success.");
D
donglin 已提交
686
    }
D
donglin 已提交
687 688
}
try {
D
donglin 已提交
689
    appManager.clearUpApplicationData(bundleName, clearUpApplicationDataCallback);
D
donglin 已提交
690
} catch (paramError) {
D
donglin 已提交
691
    console.log("error: " + paramError.code + ", " + paramError.message);
D
donglin 已提交
692 693
}
```
D
donglin 已提交
694

D
donglin 已提交
695
## appManager.clearUpApplicationData
D
donglin 已提交
696 697 698 699 700 701 702 703 704 705 706 707 708 709 710

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

通过包名清除应用数据。

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

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

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

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
D
fix  
donglin 已提交
711
| bundleName | string | 是 | 表示包名。 |
D
donglin 已提交
712 713 714 715 716

**返回值:**

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

**示例:**
    
D
donglin 已提交
721 722 723 724
```ts
var bundleName = 'bundleName';
try {
    appManager.clearUpApplicationData(bundleName).then((data) => {
D
donglin 已提交
725
        console.log("clearUpApplicationData success.");
D
donglin 已提交
726
    }).catch((err) => {
D
donglin 已提交
727
        console.log("clearUpApplicationData fail, err: " + JSON.stringify(err));
D
donglin 已提交
728 729
    })
} catch (paramError) {
D
donglin 已提交
730
    console.log("error: " + paramError.code + ", " + paramError.message);
D
donglin 已提交
731 732
}
```
D
donglin 已提交
733

D
donglin 已提交
734
## ApplicationState
D
donglin 已提交
735

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

D
donglin 已提交
738 739 740 741
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

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

742
| 名称                 | 值  | 说明                               |
D
donglin 已提交
743 744 745 746 747 748 749
| -------------------- | --- | --------------------------------- |
| STATE_CREATE    | 1   |   当应用在创建中的时候处于的状态。         |
| STATE_FOREGROUND          | 2   |      当应用切换到前台的时候处于的状态。            |
| STATE_ACTIVE  | 3   |         当应用在获焦的时候处于的状态。     |
| STATE_BACKGROUND        | 4   |       当应用处于后台不可见时处于的状态。           |
| STATE_DESTROY        | 5   |           当应用在销毁的时候处于的状态。       |

D
donglin 已提交
750
## ProcessState
D
donglin 已提交
751

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

D
donglin 已提交
754 755 756 757
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

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

758
| 名称                 | 值  | 说明                               |
D
donglin 已提交
759 760 761 762 763 764
| -------------------- | --- | --------------------------------- |
| STATE_CREATE    | 1   |      当进程在创建中的时候处于的状态。       |
| STATE_FOREGROUND          | 2   |            当进程切换到前台的时候处于的状态。      |
| STATE_ACTIVE  | 3   |          当进程在获焦的时候处于的状态。   |
| STATE_BACKGROUND        | 4   |       当进程处于后台不可见时处于的状态。           |
| STATE_DESTROY        | 5   |         当进程在销毁的时候处于的状态。         |