1# @ohos.app.ability.appManager (appManager) 2 3appManager模块提供App管理的能力,包括查询当前是否处于稳定性测试场景、查询是否为ram受限设备、获取应用程序的内存大小、获取有关运行进程的信息等。 4 5> **说明:** 6> 7> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9## 导入模块 10 11```ts 12import { appManager } from '@kit.AbilityKit'; 13``` 14 15## ProcessState<sup>10+</sup> 16 17表示进程状态的枚举。 18 19**原子化服务API**:从API version 11开始,该接口支持在原子化服务中使用。 20 21**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 22 23| 名称 | 值 | 说明 | 24| -------------------- | --- | --------------------------------- | 25| STATE_CREATE | 0 | 进程处于创建状态。 | 26| STATE_FOREGROUND | 1 | 进程处于前台状态。 | 27| STATE_ACTIVE | 2 | 进程处于获焦状态。 | 28| STATE_BACKGROUND | 3 | 进程处于后台不可见状态。 | 29| STATE_DESTROY | 4 | 进程处于销毁状态。 | 30 31## appManager.isRunningInStabilityTest 32 33isRunningInStabilityTest(callback: AsyncCallback<boolean>): void 34 35查询当前是否处于稳定性测试场景。使用callback异步回调。 36 37**原子化服务API**:从API version 11开始,该接口支持在原子化服务中使用。 38 39**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 40 41**参数:** 42 43 | 参数名 | 类型 | 必填 | 说明 | 44 | -------- | -------- | -------- | -------- | 45 | callback | AsyncCallback<boolean> | 是 |以回调方式返回接口运行结果及当前是否处于稳定性测试场景,可进行错误处理或其他自定义处理。true: 处于稳定性测试场景,false:处于非稳定性测试场景。 | 46 47**错误码**: 48 49以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 50 51| 错误码ID | 错误信息 | 52| ------- | -------- | 53| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 54| 16000050 | Internal error. | 55 56**示例:** 57 58```ts 59import { appManager } from '@kit.AbilityKit'; 60 61appManager.isRunningInStabilityTest((err, flag) => { 62 if (err) { 63 console.error(`isRunningInStabilityTest fail, err: ${JSON.stringify(err)}`); 64 } else { 65 console.log(`The result of isRunningInStabilityTest is: ${JSON.stringify(flag)}`); 66 } 67}); 68``` 69 70 71## appManager.isRunningInStabilityTest 72 73isRunningInStabilityTest(): Promise<boolean> 74 75查询当前是否处于稳定性测试场景。使用Promise异步回调。 76 77**原子化服务API**:从API version 11开始,该接口支持在原子化服务中使用。 78 79**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 80 81**返回值:** 82 83 | 类型 | 说明 | 84 | -------- | -------- | 85 | Promise<boolean> | 以Promise方式返回接口运行结果及当前是否处于稳定性测试场景,可进行错误处理或其他自定义处理。true: 处于稳定性测试场景,false:处于非稳定性测试场景。 | 86 87**错误码**: 88 89以下错误码详细介绍请参考[元能力子系统错误码](errorcode-ability.md)。 90 91| 错误码ID | 错误信息 | 92| ------- | -------- | 93| 16000050 | Internal error. | 94 95**示例:** 96 97```ts 98import { appManager } from '@kit.AbilityKit'; 99import { BusinessError } from '@kit.BasicServicesKit'; 100 101appManager.isRunningInStabilityTest().then((flag) => { 102 console.log(`The result of isRunningInStabilityTest is: ${JSON.stringify(flag)}`); 103}).catch((error: BusinessError) => { 104 console.error(`error: ${JSON.stringify(error)}`); 105}); 106``` 107 108 109## appManager.isRamConstrainedDevice 110 111isRamConstrainedDevice(): Promise\<boolean> 112 113查询是否为ram受限设备。使用Promise异步回调。 114 115**原子化服务API**:从API version 11开始,该接口支持在原子化服务中使用。 116 117**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 118 119**返回值:** 120 121 | 类型 | 说明 | 122 | -------- | -------- | 123 | Promise<boolean> | 以Promise方式返回接口运行结果及当前设备是否为ram受限设备,可进行错误处理或其他自定义处理。true:当前设备为ram受限设备,false:当前设备为非ram受限设备。 | 124 125**错误码**: 126 127以下错误码详细介绍请参考[元能力子系统错误码](errorcode-ability.md)。 128 129| 错误码ID | 错误信息 | 130| ------- | -------- | 131| 16000050 | Internal error. | 132 133**示例:** 134 135```ts 136import { appManager } from '@kit.AbilityKit'; 137import { BusinessError } from '@kit.BasicServicesKit'; 138 139appManager.isRamConstrainedDevice().then((data) => { 140 console.log(`The result of isRamConstrainedDevice is: ${JSON.stringify(data)}`); 141}).catch((error: BusinessError) => { 142 console.error(`error: ${JSON.stringify(error)}`); 143}); 144``` 145 146## appManager.isRamConstrainedDevice 147 148isRamConstrainedDevice(callback: AsyncCallback\<boolean>): void 149 150查询是否为ram受限设备。使用callback异步回调。 151 152**原子化服务API**:从API version 11开始,该接口支持在原子化服务中使用。 153 154**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 155 156**参数:** 157 158 | 参数名 | 类型 | 必填 | 说明 | 159 | -------- | -------- | -------- | -------- | 160 | callback | AsyncCallback<boolean> | 是 |以回调方式返回接口运行结果及当前设备是否为ram受限设备,可进行错误处理或其他自定义处理。true:当前设备为ram受限设备,false:当前设备为非ram受限设备。 | 161 162**错误码**: 163 164以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 165 166| 错误码ID | 错误信息 | 167| ------- | -------- | 168| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 169| 16000050 | Internal error. | 170 171**示例:** 172 173```ts 174import { appManager } from '@kit.AbilityKit'; 175 176appManager.isRamConstrainedDevice((err, data) => { 177 if (err) { 178 console.error(`isRamConstrainedDevice fail, err: ${JSON.stringify(err)}`); 179 } else { 180 console.log(`The result of isRamConstrainedDevice is: ${JSON.stringify(data)}`); 181 } 182}); 183``` 184 185## appManager.getAppMemorySize 186 187getAppMemorySize(): Promise\<number> 188 189获取当前应用程序可以使用的内存的值。使用Promise异步回调。 190 191**原子化服务API**:从API version 11开始,该接口支持在原子化服务中使用。 192 193**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 194 195**返回值:** 196 197 | 类型 | 说明 | 198 | -------- | -------- | 199 | Promise<number> | 获取当前应用程序可以使用的内存的值,可根据此值进行错误处理或其他自定义处理,单位是M。使用Promise异步回调。| 200 201**错误码**: 202 203以下错误码详细介绍请参考[元能力子系统错误码](errorcode-ability.md)。 204 205| 错误码ID | 错误信息 | 206| ------- | -------- | 207| 16000050 | Internal error. | 208 209**示例:** 210 211```ts 212import { appManager } from '@kit.AbilityKit'; 213import { BusinessError } from '@kit.BasicServicesKit'; 214 215appManager.getAppMemorySize().then((data) => { 216 console.log(`The size of app memory is: ${JSON.stringify(data)}`); 217}).catch((error: BusinessError) => { 218 console.error(`error: ${JSON.stringify(error)}`); 219}); 220``` 221 222## appManager.getAppMemorySize 223 224getAppMemorySize(callback: AsyncCallback\<number>): void 225 226获取当前应用程序可以使用的内存的值。使用callback异步回调。 227 228**原子化服务API**:从API version 11开始,该接口支持在原子化服务中使用。 229 230**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 231 232**参数:** 233 234 | 参数名 | 类型 | 必填 | 说明 | 235 | -------- | -------- | -------- | -------- | 236 | callback | AsyncCallback<number> | 是 |获取当前应用程序可以使用的内存的值,可根据此值进行错误处理或其他自定义处理,单位是M。使用callback异步回调。| 237 238**错误码**: 239 240以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 241 242| 错误码ID | 错误信息 | 243| ------- | -------- | 244| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 245| 16000050 | Internal error. | 246 247**示例:** 248 249```ts 250import { appManager } from '@kit.AbilityKit'; 251 252appManager.getAppMemorySize((err, data) => { 253 if (err) { 254 console.error(`getAppMemorySize fail, err: ${JSON.stringify(err)}`); 255 } else { 256 console.log(`The size of app memory is: ${JSON.stringify(data)}`); 257 } 258}); 259``` 260 261## appManager.getRunningProcessInformation 262 263getRunningProcessInformation(): Promise\<Array\<ProcessInformation>> 264 265获取当前运行进程的有关信息。使用Promise异步回调。 266 267> **说明:** 268> 269> API version 11之前的版本,该接口需要申请权限ohos.permission.GET_RUNNING_INFO(该权限仅系统应用可申请)。从API version 11开始,该接口不再需要申请权限。 270 271**原子化服务API**:从API version 11开始,该接口支持在原子化服务中使用。 272 273**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 274 275**返回值:** 276 277| 类型 | 说明 | 278| -------- | -------- | 279| Promise\<Array\<[ProcessInformation](js-apis-inner-application-processInformation.md)>> | 以Promise方式返回接口运行结果及有关运行进程的信息,可进行错误处理或其他自定义处理。 | 280 281**错误码**: 282 283以下错误码详细介绍请参考[元能力子系统错误码](errorcode-ability.md)。 284 285| 错误码ID | 错误信息 | 286| ------- | -------- | 287| 16000050 | Internal error. | 288 289**示例:** 290 291```ts 292import { appManager } from '@kit.AbilityKit'; 293import { BusinessError } from '@kit.BasicServicesKit'; 294 295appManager.getRunningProcessInformation().then((data) => { 296 console.log(`The running process information is: ${JSON.stringify(data)}`); 297}).catch((error: BusinessError) => { 298 console.error(`error: ${JSON.stringify(error)}`); 299}); 300``` 301 302## appManager.getRunningProcessInformation 303 304getRunningProcessInformation(callback: AsyncCallback\<Array\<ProcessInformation>>): void 305 306获取当前运行进程的有关信息。使用callback异步回调。 307 308> **说明:** 309> 310> API version 11之前的版本,该接口需要申请权限ohos.permission.GET_RUNNING_INFO(该权限仅系统应用可申请)。从API version 11开始,该接口不再需要申请权限。 311 312**原子化服务API**:从API version 11开始,该接口支持在原子化服务中使用。 313 314**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 315 316**参数:** 317 318 | 参数名 | 类型 | 必填 | 说明 | 319 | -------- | -------- | -------- | -------- | 320 | callback | AsyncCallback\<Array\<[ProcessInformation](js-apis-inner-application-processInformation.md)>> | 是 |以callback方式返回接口运行结果及有关运行进程的信息,可进行错误处理或其他自定义处理。| 321 322**错误码**: 323 324以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 325 326| 错误码ID | 错误信息 | 327| ------- | -------- | 328| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 329| 16000050 | Internal error. | 330 331**示例:** 332 333```ts 334import { appManager } from '@kit.AbilityKit'; 335 336appManager.getRunningProcessInformation((err, data) => { 337 if (err) { 338 console.error(`getRunningProcessInformation fail, err: ${JSON.stringify(err)}`); 339 } else { 340 console.log(`The running process information is: ${JSON.stringify(data)}`); 341 } 342}); 343``` 344 345## appManager.on('applicationState')<sup>14+</sup> 346 347on(type: 'applicationState', observer: ApplicationStateObserver): number 348 349注册全部应用程序的状态观测器。 350 351**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER 352 353**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 354 355**参数:** 356 357| 参数名 | 类型 | 必填 | 说明 | 358| -------- | -------- | -------- | -------- | 359| type | string | 是 | 调用接口类型,固定填'applicationState'字符串。 | 360| observer | [ApplicationStateObserver](js-apis-inner-application-applicationStateObserver.md) | 是 | 应用状态观测器,用于观测应用的生命周期变化。 | 361 362**返回值:** 363 364| 类型 | 说明 | 365| --- | --- | 366| number | 已注册观测器的数字代码,可用于off接口取消注册观测器。| 367 368**错误码**: 369 370以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 371 372| 错误码ID | 错误信息 | 373| ------- | -------- | 374| 201 | Permission denied. | 375| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 376| 16000050 | Internal error. | 377 378**示例:** 379 380```ts 381import { appManager } from '@kit.AbilityKit'; 382import { BusinessError } from '@kit.BasicServicesKit'; 383 384let applicationStateObserver: appManager.ApplicationStateObserver = { 385 onForegroundApplicationChanged(appStateData) { 386 console.log(`[appManager] onForegroundApplicationChanged: ${JSON.stringify(appStateData)}`); 387 }, 388 onAbilityStateChanged(abilityStateData) { 389 console.log(`[appManager] onAbilityStateChanged: ${JSON.stringify(abilityStateData)}`); 390 }, 391 onProcessCreated(processData) { 392 console.log(`[appManager] onProcessCreated: ${JSON.stringify(processData)}`); 393 }, 394 onProcessDied(processData) { 395 console.log(`[appManager] onProcessDied: ${JSON.stringify(processData)}`); 396 }, 397 onProcessStateChanged(processData) { 398 console.log(`[appManager] onProcessStateChanged: ${JSON.stringify(processData)}`); 399 }, 400 onAppStarted(appStateData) { 401 console.log(`[appManager] onAppStarted: ${JSON.stringify(appStateData)}`); 402 }, 403 onAppStopped(appStateData) { 404 console.log(`[appManager] onAppStopped: ${JSON.stringify(appStateData)}`); 405 } 406}; 407 408try { 409 const observerId = appManager.on('applicationState', applicationStateObserver); 410 console.log(`[appManager] observerCode: ${observerId}`); 411} catch (paramError) { 412 let code = (paramError as BusinessError).code; 413 let message = (paramError as BusinessError).message; 414 console.error(`[appManager] error: ${code}, ${message}`); 415} 416``` 417 418## appManager.on('applicationState')<sup>14+</sup> 419 420on(type: 'applicationState', observer: ApplicationStateObserver, bundleNameList: Array\<string>): number 421 422注册指定应用程序的状态观测器。 423 424**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER 425 426**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 427 428**参数:** 429 430| 参数名 | 类型 | 必填 | 说明 | 431| -------- | -------- | -------- | -------- | 432| type | string | 是 | 调用接口类型,固定填'applicationState'字符串。 | 433| observer | [ApplicationStateObserver](js-apis-inner-application-applicationStateObserver.md) | 是 | 应用状态观测器,用于观测应用的生命周期变化。 | 434| bundleNameList | `Array<string>` | 是 | 表示需要注册监听的bundleName数组。最大值128。 | 435 436**返回值:** 437 438| 类型 | 说明 | 439| --- | --- | 440| number | 已注册观测器的数字代码,可用于off接口注销观测器。| 441 442**错误码**: 443 444以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 445 446| 错误码ID | 错误信息 | 447| ------- | -------- | 448| 201 | Permission denied. | 449| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 450| 16000050 | Internal error. | 451 452**示例:** 453 454```ts 455import { appManager } from '@kit.AbilityKit'; 456import { BusinessError } from '@kit.BasicServicesKit'; 457 458let applicationStateObserver: appManager.ApplicationStateObserver = { 459 onForegroundApplicationChanged(appStateData) { 460 console.log(`[appManager] onForegroundApplicationChanged: ${JSON.stringify(appStateData)}`); 461 }, 462 onAbilityStateChanged(abilityStateData) { 463 console.log(`[appManager] onAbilityStateChanged: ${JSON.stringify(abilityStateData)}`); 464 }, 465 onProcessCreated(processData) { 466 console.log(`[appManager] onProcessCreated: ${JSON.stringify(processData)}`); 467 }, 468 onProcessDied(processData) { 469 console.log(`[appManager] onProcessDied: ${JSON.stringify(processData)}`); 470 }, 471 onProcessStateChanged(processData) { 472 console.log(`[appManager] onProcessStateChanged: ${JSON.stringify(processData)}`); 473 }, 474 onAppStarted(appStateData) { 475 console.log(`[appManager] onAppStarted: ${JSON.stringify(appStateData)}`); 476 }, 477 onAppStopped(appStateData) { 478 console.log(`[appManager] onAppStopped: ${JSON.stringify(appStateData)}`); 479 } 480}; 481 482let bundleNameList = ['bundleName1', 'bundleName2']; 483 484try { 485 const observerId = appManager.on('applicationState', applicationStateObserver, bundleNameList); 486 console.log(`[appManager] observerCode: ${observerId}`); 487} catch (paramError) { 488 let code = (paramError as BusinessError).code; 489 let message = (paramError as BusinessError).message; 490 console.error(`[appManager] error: ${code}, ${message}`); 491} 492``` 493 494## appManager.off('applicationState')<sup>14+</sup> 495 496off(type: 'applicationState', observerId: number): Promise\<void> 497 498取消注册应用程序状态观测器。 499 500**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER 501 502**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 503 504**参数:** 505 506| 参数名 | 类型 | 必填 | 说明 | 507| -------- | -------- | -------- | -------- | 508| type | string | 是 | 调用接口类型,固定填'applicationState'字符串。 | 509| observerId | number | 是 | 表示观测器的编号代码。 | 510 511**返回值:** 512 513| 类型 | 说明 | 514| -------- | -------- | 515| Promise\<void> | 以Promise方式返回接口运行结果,可进行错误处理或其他自定义处理。 | 516 517**错误码**: 518 519以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 520 521| 错误码ID | 错误信息 | 522| ------- | -------- | 523| 201 | Permission denied. | 524| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 525| 16000050 | Internal error. | 526 527**示例:** 528 529```ts 530import { appManager } from '@kit.AbilityKit'; 531import { BusinessError } from '@kit.BasicServicesKit'; 532 533let observerId = 0; 534 535// 1.注册应用状态监听器 536let applicationStateObserver: appManager.ApplicationStateObserver = { 537 onForegroundApplicationChanged(appStateData) { 538 console.log(`[appManager] onForegroundApplicationChanged: ${JSON.stringify(appStateData)}`); 539 }, 540 onAbilityStateChanged(abilityStateData) { 541 console.log(`[appManager] onAbilityStateChanged: ${JSON.stringify(abilityStateData)}`); 542 }, 543 onProcessCreated(processData) { 544 console.log(`[appManager] onProcessCreated: ${JSON.stringify(processData)}`); 545 }, 546 onProcessDied(processData) { 547 console.log(`[appManager] onProcessDied: ${JSON.stringify(processData)}`); 548 }, 549 onProcessStateChanged(processData) { 550 console.log(`[appManager] onProcessStateChanged: ${JSON.stringify(processData)}`); 551 }, 552 onAppStarted(appStateData) { 553 console.log(`[appManager] onAppStarted: ${JSON.stringify(appStateData)}`); 554 }, 555 onAppStopped(appStateData) { 556 console.log(`[appManager] onAppStopped: ${JSON.stringify(appStateData)}`); 557 } 558}; 559let bundleNameList = ['bundleName1', 'bundleName2']; 560 561try { 562 observerId = appManager.on('applicationState', applicationStateObserver, bundleNameList); 563} catch (paramError) { 564 let code = (paramError as BusinessError).code; 565 let message = (paramError as BusinessError).message; 566 console.error(`[appManager] error: ${code}, ${message}`); 567} 568 569// 2.注销应用状态监听器 570try { 571 appManager.off('applicationState', observerId).then((data) => { 572 console.log(`unregisterApplicationStateObserver success, data: ${JSON.stringify(data)}`); 573 }).catch((err: BusinessError) => { 574 console.error(`unregisterApplicationStateObserver fail, err: ${JSON.stringify(err)}`); 575 }); 576} catch (paramError) { 577 let code = (paramError as BusinessError).code; 578 let message = (paramError as BusinessError).message; 579 console.error(`[appManager] error: ${code}, ${message}`); 580} 581``` 582 583## appManager.killProcessesByBundleName<sup>14+</sup> 584 585killProcessesByBundleName(bundleName: string, clearPageStack: boolean, appIndex?: number): Promise\<void> 586 587通过Bundle名称终止进程。使用Promise异步回调。 588 589**需要权限**:ohos.permission.KILL_APP_PROCESSES 或 ohos.permission.CLEAN_BACKGROUND_PROCESSES 590 591**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 592 593**参数:** 594 595| 参数名 | 类型 | 必填 | 说明 | 596| -------- | -------- | -------- | -------- | 597| bundleName | string | 是 | 表示Bundle名称。 | 598| clearPageStack | boolean | 是 | 表示是否清除页面堆栈。true表示清除,false表示不清除。 | 599| appIndex | number | 否 | 应用分身Id。 | 600 601**返回值:** 602 603| 类型 | 说明 | 604| -------- | -------- | 605| Promise\<void> | Promise对象。无返回结果的Promise对象。 | 606 607**错误码**: 608 609以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 610 611| 错误码ID | 错误信息 | 612| ------- | -------- | 613| 201 | Permission denied. | 614| 401 | If the input parameter is not valid parameter. | 615| 16000050 | Internal error. | 616 617**示例:** 618 619```ts 620import { appManager } from '@kit.AbilityKit'; 621import { BusinessError } from '@kit.BasicServicesKit'; 622 623let bundleName = 'bundleName'; 624let isClearPageStack = false; 625let appIndex = 1; 626 627try { 628 appManager.killProcessesByBundleName(bundleName, isClearPageStack, appIndex).then((data) => { 629 console.log('killProcessesByBundleName success.'); 630 }).catch((err: BusinessError) => { 631 console.error(`killProcessesByBundleName fail, err: ${JSON.stringify(err)}`); 632 }); 633} catch (paramError) { 634 let code = (paramError as BusinessError).code; 635 let message = (paramError as BusinessError).message; 636 console.error(`[appManager] error: ${code}, ${message}`); 637} 638``` 639 640## appManager.isAppRunning<sup>14+</sup> 641 642isAppRunning(bundleName: string, appCloneIndex?: number): Promise\<boolean> 643 644判断应用是否在运行。使用Promise异步回调。 645 646**需要权限**:ohos.permission.GET_RUNNING_INFO 647 648**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 649 650**参数:** 651 652| 参数名 | 类型 | 必填 | 说明 | 653| -------- | -------- | -------- | -------- | 654| bundleName | string | 是 | 查询的应用包名。 | 655| appCloneIndex | number | 否 | 分身应用索引。 | 656 657**返回值:** 658 659| 类型 | 说明 | 660| -------------- | ---------------- | 661| Promise\<boolean> | Promise对象。返回true表示应用正在运行,返回false表示应用未运行。 | 662 663**错误码**: 664 665 以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 666 667| 错误码ID | 错误信息 | 668| ------- | -------- | 669| 201 | Permission denied. | 670| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 671| 16000050 | Internal error. | 672| 16000073 | The app clone index is invalid. | 673 674**示例:** 675 676```ts 677import { appManager } from '@kit.AbilityKit'; 678import { hilog } from '@kit.PerformanceAnalysisKit'; 679import { BusinessError } from '@kit.BasicServicesKit'; 680 681try { 682 let bundleName = "ohos.samples.etsclock"; 683 appManager.isAppRunning(bundleName).then((data: boolean) => { 684 hilog.info(0x0000, 'testTag', `data: ${JSON.stringify(data)}`); 685 }).catch((err: BusinessError) => { 686 hilog.error(0x0000, 'testTag', `isAppRunning error, code: ${err.code}, msg:${err.message}`); 687 }) 688} catch (err) { 689 hilog.error(0x0000, 'testTag', `isAppRunning error, code: ${err.code}, msg:${err.message}`); 690} 691``` 692 693## ApplicationStateObserver<sup>14+</sup> 694 695type ApplicationStateObserver = _ApplicationStateObserver.default 696 697ApplicationStateObserver模块。 698 699**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 700 701| 类型 | 说明 | 702| --- | --- | 703| [_ApplicationStateObserver.default](js-apis-inner-application-applicationStateObserver.md) | ApplicationStateObserver模块。 | 704 705## ProcessInformation 706 707type ProcessInformation = _ProcessInformation 708 709ProcessInformation模块。 710 711**原子化服务API**:从API version 11开始,该接口支持在原子化服务中使用。 712 713**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 714 715| 类型 | 说明 | 716| --- | --- | 717| [_ProcessInformation](js-apis-inner-application-processInformation.md) | ProcessInformation模块。 | 718