• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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(该权限仅系统应用可申请)。
270> - 从API version 11开始,该接口仅用于获取调用方自身的进程信息,不再需要申请权限。
271
272**原子化服务API**:从API version 11开始,该接口支持在原子化服务中使用。
273
274**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
275
276**返回值:**
277
278| 类型 | 说明 |
279| -------- | -------- |
280| Promise\<Array\<[ProcessInformation](js-apis-inner-application-processInformation.md)>> | 以Promise方式返回接口运行结果及有关运行进程的信息,可进行错误处理或其他自定义处理。 |
281
282**错误码**:
283
284以下错误码详细介绍请参考[元能力子系统错误码](errorcode-ability.md)。
285
286| 错误码ID | 错误信息 |
287| ------- | -------- |
288| 16000050 | Internal error. |
289
290**示例:**
291
292```ts
293import { appManager } from '@kit.AbilityKit';
294import { BusinessError } from '@kit.BasicServicesKit';
295
296appManager.getRunningProcessInformation().then((data) => {
297  console.log(`The running process information is: ${JSON.stringify(data)}`);
298}).catch((error: BusinessError) => {
299  console.error(`error: ${JSON.stringify(error)}`);
300});
301```
302
303## appManager.getRunningProcessInformation
304
305getRunningProcessInformation(callback: AsyncCallback\<Array\<ProcessInformation>>): void
306
307获取当前应用运行进程的相关信息。使用callback异步回调。
308
309> **说明:**
310>
311> - 对于API version 11之前的版本,该接口需要申请权限ohos.permission.GET_RUNNING_INFO(该权限仅系统应用可申请)。
312> - 从API version 11开始,该接口仅用于获取调用方自身的进程信息,不再需要申请权限。
313
314**原子化服务API**:从API version 11开始,该接口支持在原子化服务中使用。
315
316**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
317
318**参数:**
319
320  | 参数名 | 类型 | 必填 | 说明 |
321  | -------- | -------- | -------- | -------- |
322  | callback | AsyncCallback\<Array\<[ProcessInformation](js-apis-inner-application-processInformation.md)>> | 是 |以callback方式返回接口运行结果及有关运行进程的信息,可进行错误处理或其他自定义处理。|
323
324**错误码**:
325
326以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
327
328| 错误码ID | 错误信息 |
329| ------- | -------- |
330| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
331| 16000050 | Internal error. |
332
333**示例:**
334
335```ts
336import { appManager } from '@kit.AbilityKit';
337
338appManager.getRunningProcessInformation((err, data) => {
339  if (err) {
340    console.error(`getRunningProcessInformation fail, err: ${JSON.stringify(err)}`);
341  } else {
342    console.log(`The running process information is: ${JSON.stringify(data)}`);
343  }
344});
345```
346
347## appManager.on('applicationState')<sup>14+</sup>
348
349on(type: 'applicationState', observer: ApplicationStateObserver): number
350
351注册全部应用程序的状态观测器。
352
353**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER
354
355**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
356
357**参数:**
358
359| 参数名 | 类型 | 必填 | 说明 |
360| -------- | -------- | -------- | -------- |
361| type | string | 是 | 调用接口类型,固定填'applicationState'字符串。 |
362| observer | [ApplicationStateObserver](js-apis-inner-application-applicationStateObserver.md) | 是 | 应用状态观测器,用于观测应用的生命周期变化。 |
363
364**返回值:**
365
366| 类型 | 说明 |
367| --- | --- |
368| number | 已注册观测器的数字代码,可用于off接口取消注册观测器。|
369
370**错误码**:
371
372以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
373
374| 错误码ID | 错误信息 |
375| ------- | -------- |
376| 201 | Permission denied. |
377| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
378| 16000050 | Internal error. |
379
380**示例:**
381
382```ts
383import { appManager } from '@kit.AbilityKit';
384import { BusinessError } from '@kit.BasicServicesKit';
385
386let applicationStateObserver: appManager.ApplicationStateObserver = {
387  onForegroundApplicationChanged(appStateData) {
388    console.log(`[appManager] onForegroundApplicationChanged: ${JSON.stringify(appStateData)}`);
389  },
390  onAbilityStateChanged(abilityStateData) {
391    console.log(`[appManager] onAbilityStateChanged: ${JSON.stringify(abilityStateData)}`);
392  },
393  onProcessCreated(processData) {
394    console.log(`[appManager] onProcessCreated: ${JSON.stringify(processData)}`);
395  },
396  onProcessDied(processData) {
397    console.log(`[appManager] onProcessDied: ${JSON.stringify(processData)}`);
398  },
399  onProcessStateChanged(processData) {
400    console.log(`[appManager] onProcessStateChanged: ${JSON.stringify(processData)}`);
401  },
402  onAppStarted(appStateData) {
403    console.log(`[appManager] onAppStarted: ${JSON.stringify(appStateData)}`);
404  },
405  onAppStopped(appStateData) {
406    console.log(`[appManager] onAppStopped: ${JSON.stringify(appStateData)}`);
407  }
408};
409
410try {
411  const observerId = appManager.on('applicationState', applicationStateObserver);
412  console.log(`[appManager] observerCode: ${observerId}`);
413} catch (paramError) {
414  let code = (paramError as BusinessError).code;
415  let message = (paramError as BusinessError).message;
416  console.error(`[appManager] error: ${code}, ${message}`);
417}
418```
419
420## appManager.on('applicationState')<sup>14+</sup>
421
422on(type: 'applicationState', observer: ApplicationStateObserver, bundleNameList: Array\<string>): number
423
424注册指定应用程序的状态观测器。
425
426**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER
427
428**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
429
430**参数:**
431
432| 参数名 | 类型 | 必填 | 说明 |
433| -------- | -------- | -------- | -------- |
434| type | string | 是 | 调用接口类型,固定填'applicationState'字符串。 |
435| observer | [ApplicationStateObserver](js-apis-inner-application-applicationStateObserver.md) | 是 | 应用状态观测器,用于观测应用的生命周期变化。 |
436| bundleNameList | `Array<string>` | 是 | 表示需要注册监听的bundleName数组。最大值128。 |
437
438**返回值:**
439
440| 类型 | 说明 |
441| --- | --- |
442| number | 已注册观测器的数字代码,可用于off接口注销观测器。|
443
444**错误码**:
445
446以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
447
448| 错误码ID | 错误信息 |
449| ------- | -------- |
450| 201 | Permission denied. |
451| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
452| 16000050 | Internal error. |
453
454**示例:**
455
456```ts
457import { appManager } from '@kit.AbilityKit';
458import { BusinessError } from '@kit.BasicServicesKit';
459
460let applicationStateObserver: appManager.ApplicationStateObserver = {
461  onForegroundApplicationChanged(appStateData) {
462    console.log(`[appManager] onForegroundApplicationChanged: ${JSON.stringify(appStateData)}`);
463  },
464  onAbilityStateChanged(abilityStateData) {
465    console.log(`[appManager] onAbilityStateChanged: ${JSON.stringify(abilityStateData)}`);
466  },
467  onProcessCreated(processData) {
468    console.log(`[appManager] onProcessCreated: ${JSON.stringify(processData)}`);
469  },
470  onProcessDied(processData) {
471    console.log(`[appManager] onProcessDied: ${JSON.stringify(processData)}`);
472  },
473  onProcessStateChanged(processData) {
474    console.log(`[appManager] onProcessStateChanged: ${JSON.stringify(processData)}`);
475  },
476  onAppStarted(appStateData) {
477    console.log(`[appManager] onAppStarted: ${JSON.stringify(appStateData)}`);
478  },
479  onAppStopped(appStateData) {
480    console.log(`[appManager] onAppStopped: ${JSON.stringify(appStateData)}`);
481  }
482};
483
484let bundleNameList = ['bundleName1', 'bundleName2'];
485
486try {
487  const observerId = appManager.on('applicationState', applicationStateObserver, bundleNameList);
488  console.log(`[appManager] observerCode: ${observerId}`);
489} catch (paramError) {
490  let code = (paramError as BusinessError).code;
491  let message = (paramError as BusinessError).message;
492  console.error(`[appManager] error: ${code}, ${message}`);
493}
494```
495
496## appManager.off('applicationState')<sup>14+</sup>
497
498off(type: 'applicationState', observerId: number): Promise\<void>
499
500取消注册应用程序状态观测器。使用Promise异步回调。
501
502**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER
503
504**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
505
506**参数:**
507
508| 参数名 | 类型 | 必填 | 说明 |
509| -------- | -------- | -------- | -------- |
510| type | string | 是 | 调用接口类型,固定填'applicationState'字符串。 |
511| observerId | number | 是 | 表示观测器的编号代码。 |
512
513**返回值:**
514
515| 类型 | 说明 |
516| -------- | -------- |
517| Promise\<void> | 以Promise方式返回接口运行结果,可进行错误处理或其他自定义处理。 |
518
519**错误码**:
520
521以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
522
523| 错误码ID | 错误信息 |
524| ------- | -------- |
525| 201 | Permission denied. |
526| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
527| 16000050 | Internal error. |
528
529**示例:**
530
531```ts
532import { appManager } from '@kit.AbilityKit';
533import { BusinessError } from '@kit.BasicServicesKit';
534
535let observerId = 0;
536
537// 1.注册应用状态监听器
538let applicationStateObserver: appManager.ApplicationStateObserver = {
539  onForegroundApplicationChanged(appStateData) {
540    console.log(`[appManager] onForegroundApplicationChanged: ${JSON.stringify(appStateData)}`);
541  },
542  onAbilityStateChanged(abilityStateData) {
543    console.log(`[appManager] onAbilityStateChanged: ${JSON.stringify(abilityStateData)}`);
544  },
545  onProcessCreated(processData) {
546    console.log(`[appManager] onProcessCreated: ${JSON.stringify(processData)}`);
547  },
548  onProcessDied(processData) {
549    console.log(`[appManager] onProcessDied: ${JSON.stringify(processData)}`);
550  },
551  onProcessStateChanged(processData) {
552    console.log(`[appManager] onProcessStateChanged: ${JSON.stringify(processData)}`);
553  },
554  onAppStarted(appStateData) {
555    console.log(`[appManager] onAppStarted: ${JSON.stringify(appStateData)}`);
556  },
557  onAppStopped(appStateData) {
558    console.log(`[appManager] onAppStopped: ${JSON.stringify(appStateData)}`);
559  }
560};
561let bundleNameList = ['bundleName1', 'bundleName2'];
562
563try {
564  observerId = appManager.on('applicationState', applicationStateObserver, bundleNameList);
565} catch (paramError) {
566  let code = (paramError as BusinessError).code;
567  let message = (paramError as BusinessError).message;
568  console.error(`[appManager] error: ${code}, ${message}`);
569}
570
571// 2.注销应用状态监听器
572try {
573  appManager.off('applicationState', observerId).then((data) => {
574    console.log(`unregisterApplicationStateObserver success, data: ${JSON.stringify(data)}`);
575  }).catch((err: BusinessError) => {
576    console.error(`unregisterApplicationStateObserver fail, err: ${JSON.stringify(err)}`);
577  });
578} catch (paramError) {
579  let code = (paramError as BusinessError).code;
580  let message = (paramError as BusinessError).message;
581  console.error(`[appManager] error: ${code}, ${message}`);
582}
583```
584
585## appManager.off('applicationState')<sup>15+</sup>
586
587off(type: 'applicationState', observerId: number, callback: AsyncCallback\<void>): void
588
589取消注册应用程序状态观测器。使用callback异步回调。
590
591**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER
592
593**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
594
595**参数:**
596
597| 参数名 | 类型 | 必填 | 说明 |
598| -------- | -------- | -------- | -------- |
599| type | string | 是 | 调用接口类型,固定填'applicationState'字符串。 |
600| observerId | number | 是 | 表示观测器的编号代码。 |
601| callback | AsyncCallback\<void> | 是 | 回调函数。当取消注册应用程序状态观测器成功,err为undefined,否则为错误对象。 |
602
603**错误码**:
604
605以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
606
607| 错误码ID | 错误信息 |
608| ------- | -------- |
609| 201 | Permission denied. |
610| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
611| 16000050 | Internal error. |
612
613**示例:**
614
615```ts
616import { appManager } from '@kit.AbilityKit';
617import { BusinessError } from '@kit.BasicServicesKit';
618
619let observerId = 0;
620
621// 1.注册应用状态监听器
622let applicationStateObserver: appManager.ApplicationStateObserver = {
623  onForegroundApplicationChanged(appStateData) {
624    console.log(`[appManager] onForegroundApplicationChanged: ${JSON.stringify(appStateData)}`);
625  },
626  onAbilityStateChanged(abilityStateData) {
627    console.log(`[appManager] onAbilityStateChanged: ${JSON.stringify(abilityStateData)}`);
628  },
629  onProcessCreated(processData) {
630    console.log(`[appManager] onProcessCreated: ${JSON.stringify(processData)}`);
631  },
632  onProcessDied(processData) {
633    console.log(`[appManager] onProcessDied: ${JSON.stringify(processData)}`);
634  },
635  onProcessStateChanged(processData) {
636    console.log(`[appManager] onProcessStateChanged: ${JSON.stringify(processData)}`);
637  },
638  onAppStarted(appStateData) {
639    console.log(`[appManager] onAppStarted: ${JSON.stringify(appStateData)}`);
640  },
641  onAppStopped(appStateData) {
642    console.log(`[appManager] onAppStopped: ${JSON.stringify(appStateData)}`);
643  }
644};
645let bundleNameList = ['bundleName1', 'bundleName2'];
646
647try {
648  observerId = appManager.on('applicationState', applicationStateObserver, bundleNameList);
649} catch (paramError) {
650  let code = (paramError as BusinessError).code;
651  let message = (paramError as BusinessError).message;
652  console.error(`[appManager] error: ${code}, ${message}`);
653}
654
655function offCallback(err: BusinessError) {
656  if (err) {
657    console.error(`appmanager.off failed, code: ${err.code}, msg: ${err.message}`);
658  } else {
659    console.info(`appmanager.off success.`);
660  }
661}
662
663// 2.注销应用状态监听器
664try {
665  appManager.off('applicationState', observerId, offCallback);
666} catch (paramError) {
667  let code = (paramError as BusinessError).code;
668  let message = (paramError as BusinessError).message;
669  console.error(`[appManager] error: ${code}, ${message}`);
670}
671```
672
673## appManager.killProcessesByBundleName<sup>14+</sup>
674
675killProcessesByBundleName(bundleName: string, clearPageStack: boolean, appIndex?: number): Promise\<void>
676
677通过Bundle名称终止进程。使用Promise异步回调。
678
679**需要权限**:ohos.permission.KILL_APP_PROCESSESohos.permission.CLEAN_BACKGROUND_PROCESSES
680
681**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
682
683**参数:**
684
685| 参数名 | 类型 | 必填 | 说明 |
686| -------- | -------- | -------- | -------- |
687| bundleName | string | 是 | 表示Bundle名称。 |
688| clearPageStack | boolean | 是 | 表示是否清除页面堆栈。true表示清除,false表示不清除。 |
689| appIndex | number | 否 | 应用分身Id。 |
690
691**返回值:**
692
693| 类型 | 说明 |
694| -------- | -------- |
695| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
696
697**错误码**:
698
699以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
700
701| 错误码ID | 错误信息 |
702| ------- | -------- |
703| 201 | Permission denied. |
704| 401 | If the input parameter is not valid parameter. |
705| 16000050 | Internal error. |
706
707**示例:**
708
709```ts
710import { appManager } from '@kit.AbilityKit';
711import { BusinessError } from '@kit.BasicServicesKit';
712
713let bundleName = 'bundleName';
714let isClearPageStack = false;
715let appIndex = 1;
716
717try {
718  appManager.killProcessesByBundleName(bundleName, isClearPageStack, appIndex).then((data) => {
719    console.log('killProcessesByBundleName success.');
720  }).catch((err: BusinessError) => {
721    console.error(`killProcessesByBundleName fail, err: ${JSON.stringify(err)}`);
722  });
723} catch (paramError) {
724  let code = (paramError as BusinessError).code;
725  let message = (paramError as BusinessError).message;
726  console.error(`[appManager] error: ${code}, ${message}`);
727}
728```
729
730## appManager.isAppRunning<sup>14+</sup>
731
732isAppRunning(bundleName: string, appCloneIndex?: number): Promise\<boolean>
733
734判断应用是否在运行。使用Promise异步回调。
735
736**需要权限**:ohos.permission.GET_RUNNING_INFO
737
738**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
739
740**参数:**
741
742| 参数名 | 类型 | 必填 | 说明 |
743| -------- | -------- | -------- | -------- |
744| bundleName | string | 是 | 查询的应用包名。 |
745| appCloneIndex | number | 否 | 分身应用索引。 |
746
747**返回值:**
748
749| 类型           | 说明              |
750| -------------- | ---------------- |
751| Promise\<boolean> | Promise对象。返回true表示应用正在运行,返回false表示应用未运行。 |
752
753**错误码**:
754
755  以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
756
757| 错误码ID | 错误信息 |
758| ------- | -------- |
759| 201 | Permission denied. |
760| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. |
761| 16000050 | Internal error. |
762| 16000073 | The app clone index is invalid. |
763
764**示例:**
765
766```ts
767import { appManager } from '@kit.AbilityKit';
768import { hilog } from '@kit.PerformanceAnalysisKit';
769import { BusinessError } from '@kit.BasicServicesKit';
770
771try {
772  let bundleName = "ohos.samples.etsclock";
773  appManager.isAppRunning(bundleName).then((data: boolean) => {
774      hilog.info(0x0000, 'testTag', `data: ${JSON.stringify(data)}`);
775    }).catch((err: BusinessError) => {
776      hilog.error(0x0000, 'testTag', `isAppRunning error, code: ${err.code}, msg:${err.message}`);
777    })
778} catch (err) {
779  hilog.error(0x0000, 'testTag', `isAppRunning error, code: ${err.code}, msg:${err.message}`);
780}
781```
782
783## ApplicationStateObserver<sup>14+</sup>
784
785type ApplicationStateObserver = _ApplicationStateObserver.default
786
787ApplicationStateObserver模块。
788
789**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
790
791| 类型 | 说明 |
792| --- | --- |
793| [_ApplicationStateObserver.default](js-apis-inner-application-applicationStateObserver.md) | ApplicationStateObserver模块。 |
794
795## ProcessInformation
796
797type ProcessInformation = _ProcessInformation
798
799ProcessInformation模块。
800
801**原子化服务API**:从API version 11开始,该接口支持在原子化服务中使用。
802
803**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
804
805| 类型 | 说明 |
806| --- | --- |
807| [_ProcessInformation](js-apis-inner-application-processInformation.md) | ProcessInformation模块。 |
808