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