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&lt;boolean&gt;): void
34
35查询当前是否处于稳定性测试场景。使用callback异步回调。
36
37**原子化服务API**:从API version 11开始,该接口支持在原子化服务中使用。
38
39**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
40
41**参数:**
42
43  | 参数名 | 类型 | 必填 | 说明 |
44  | -------- | -------- | -------- | -------- |
45  | callback | AsyncCallback&lt;boolean&gt; | 是 |以回调方式返回接口运行结果及当前是否处于稳定性测试场景,可进行错误处理或其他自定义处理。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&lt;boolean&gt;
74
75查询当前是否处于稳定性测试场景。使用Promise异步回调。
76
77**原子化服务API**:从API version 11开始,该接口支持在原子化服务中使用。
78
79**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
80
81**返回值:**
82
83  | 类型 | 说明 |
84  | -------- | -------- |
85  | Promise&lt;boolean&gt; | 以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&lt;boolean&gt; | 以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&lt;boolean&gt; | 是 |以回调方式返回接口运行结果及当前设备是否为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&lt;number&gt; | 获取当前应用程序可以使用的内存的值,可根据此值进行错误处理或其他自定义处理,单位是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&lt;number&gt; | 是 |获取当前应用程序可以使用的内存的值,可根据此值进行错误处理或其他自定义处理,单位是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_PROCESSESohos.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