• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.application.appManager (appManager)
2
3appManager模块提供App管理的能力,包括查询当前是否处于稳定性测试场景、查询是否为ram受限设备、获取应用程序的内存大小、获取有关运行进程的信息等。
4
5> **说明:**
6>
7> 本模块首批接口从API version 7 开始支持,从API version 9废弃,替换模块为[@ohos.app.ability.appManager](js-apis-app-ability-appManager.md)。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8
9## 导入模块
10
11```ts
12import appManager from '@ohos.application.appManager';
13```
14
15## appManager.isRunningInStabilityTest<sup>8+</sup>
16
17static isRunningInStabilityTest(callback: AsyncCallback&lt;boolean&gt;): void
18
19查询当前是否处于稳定性测试场景。
20
21**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
22
23**参数:**
24
25  | 参数名 | 类型 | 必填 | 说明 |
26  | -------- | -------- | -------- | -------- |
27  | callback | AsyncCallback&lt;boolean&gt; | 是 | 返回当前是否处于稳定性测试场景。 |
28
29**示例:**
30
31  ```ts
32  import appManager from '@ohos.application.appManager';
33
34  appManager.isRunningInStabilityTest((error, flag) => {
35    if (error && error.code !== 0) {
36        console.error(`isRunningInStabilityTest fail, error: ${JSON.stringify(error)}`);
37    } else {
38        console.log(`isRunningInStabilityTest success, the result is: ${JSON.stringify(flag)}`);
39    }
40  });
41  ```
42
43
44## appManager.isRunningInStabilityTest<sup>8+</sup>
45
46static isRunningInStabilityTest(): Promise&lt;boolean&gt;
47
48查询当前是否处于稳定性测试场景。
49
50**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
51
52**返回值:**
53
54  | 类型 | 说明 |
55  | -------- | -------- |
56  | Promise&lt;boolean&gt; | 返回当前是否处于稳定性测试场景。 |
57
58**示例:**
59
60  ```ts
61  import appManager from '@ohos.application.appManager';
62  import { BusinessError } from '@ohos.base';
63
64  appManager.isRunningInStabilityTest().then((flag) => {
65      console.log(`The result of isRunningInStabilityTest is: ${JSON.stringify(flag)}`);
66  }).catch((error: BusinessError) => {
67      console.error(`error: ${JSON.stringify(error)}`);
68  });
69  ```
70
71
72## appManager.isRamConstrainedDevice
73
74isRamConstrainedDevice(): Promise\<boolean>;
75
76查询是否为ram受限设备。
77
78**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
79
80**返回值:**
81
82  | 类型 | 说明 |
83  | -------- | -------- |
84  | Promise&lt;boolean&gt; | 是否为ram受限设备。 |
85
86**示例:**
87
88  ```ts
89  import appManager from '@ohos.application.appManager';
90  import { BusinessError } from '@ohos.base';
91
92  appManager.isRamConstrainedDevice().then((data) => {
93      console.log(`The result of isRamConstrainedDevice is: ${JSON.stringify(data)}`);
94  }).catch((error: BusinessError) => {
95      console.error(`error: ${JSON.stringify(error)}`);
96  });
97  ```
98
99## appManager.isRamConstrainedDevice
100
101isRamConstrainedDevice(callback: AsyncCallback\<boolean>): void;
102
103查询是否为ram受限设备。
104
105**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
106
107**参数:**
108
109  | 参数名 | 类型 | 必填 | 说明 |
110  | -------- | -------- | -------- | -------- |
111  | callback | AsyncCallback&lt;boolean&gt; | 是 | 返回当前是否是ram受限设备。 |
112
113**示例:**
114
115  ```ts
116  import appManager from '@ohos.application.appManager';
117
118  appManager.isRamConstrainedDevice((error, data) => {
119      if (error && error.code !== 0) {
120          console.error(`isRamConstrainedDevice fail, error: ${JSON.stringify(error)}`);
121      } else {
122          console.log(`The result of isRamConstrainedDevice is: ${JSON.stringify(data)}`);
123      }
124  });
125  ```
126
127## appManager.getAppMemorySize
128
129getAppMemorySize(): Promise\<number>;
130
131获取应用程序的内存大小。
132
133**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
134
135**返回值:**
136
137  | 类型 | 说明 |
138  | -------- | -------- |
139  | Promise&lt;number&gt; | 应用程序内存大小, 单位为M。 |
140
141**示例:**
142
143  ```ts
144  import appManager from '@ohos.application.appManager';
145  import { BusinessError } from '@ohos.base';
146
147  appManager.getAppMemorySize().then((data) => {
148      console.log(`The size of app memory is: ${JSON.stringify(data)}`);
149  }).catch((error: BusinessError) => {
150      console.error(`error: ${JSON.stringify(error)}`);
151  });
152  ```
153
154## appManager.getAppMemorySize
155
156getAppMemorySize(callback: AsyncCallback\<number>): void;
157
158获取应用程序的内存大小。
159
160**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
161
162**参数:**
163
164  | 参数名 | 类型 | 必填 | 说明 |
165  | -------- | -------- | -------- | -------- |
166  | callback | AsyncCallback&lt;number&gt; | 是 | 应用程序内存大小, 单位为M。 |
167
168**示例:**
169
170  ```ts
171  import appManager from '@ohos.application.appManager';
172
173  appManager.getAppMemorySize((error, data) => {
174      if (error && error.code !== 0) {
175          console.error(`getAppMemorySize fail, error: ${JSON.stringify(error)}`);
176      } else {
177          console.log(`The size of app memory is: ${JSON.stringify(data)}`);
178      }
179  });
180  ```
181## appManager.getProcessRunningInfos<sup>(deprecated)</sup>
182
183getProcessRunningInfos(): Promise\<Array\<ProcessRunningInfo>>;
184
185获取有关运行进程的信息。
186
187> 从 API Version 9 开始废弃,建议使用[appManager.getRunningProcessInformation<sup>9+</sup>](js-apis-app-ability-appManager.md#appmanagergetrunningprocessinformation)替代。
188
189**需要权限**:ohos.permission.GET_RUNNING_INFO
190
191**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
192
193**返回值:**
194
195| 类型 | 说明 |
196| -------- | -------- |
197| Promise\<Array\<[ProcessRunningInfo](js-apis-inner-application-processRunningInfo.md)>> | 获取有关运行进程的信息。 |
198
199**示例:**
200
201  ```ts
202  import appManager from '@ohos.application.appManager';
203  import { BusinessError } from '@ohos.base';
204
205  appManager.getProcessRunningInfos().then((data) => {
206      console.log(`The process running infos is: ${JSON.stringify(data)}`);
207  }).catch((error: BusinessError) => {
208      console.error(`error: ${JSON.stringify(error)}`);
209  });
210  ```
211
212## appManager.getProcessRunningInfos<sup>(deprecated)</sup>
213
214getProcessRunningInfos(callback: AsyncCallback\<Array\<ProcessRunningInfo>>): void;
215
216获取有关运行进程的信息。
217
218> 从 API Version 9 开始废弃,建议使用[appManager.getRunningProcessInformation<sup>9+</sup>](js-apis-app-ability-appManager.md#appmanagergetrunningprocessinformation9)替代。
219
220**需要权限**:ohos.permission.GET_RUNNING_INFO
221
222**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
223
224**参数:**
225
226| 参数名 | 类型 | 必填 | 说明 |
227| -------- | -------- | -------- | -------- |
228| callback | AsyncCallback\<Array\<[ProcessRunningInfo](js-apis-inner-application-processRunningInfo.md)>> | 是 | 获取有关运行进程的信息。 |
229
230**示例:**
231
232  ```ts
233  import appManager from '@ohos.application.appManager';
234
235  appManager.getProcessRunningInfos((error, data) => {
236      if (error && error.code !== 0) {
237          console.error(`getProcessRunningInfos fail, error: ${JSON.stringify(error)}`);
238      } else {
239          console.log(`getProcessRunningInfos success, data: ${JSON.stringify(data)}`);
240      }
241  });
242  ```
243
244## appManager.registerApplicationStateObserver<sup>8+</sup>
245
246registerApplicationStateObserver(observer: ApplicationStateObserver): number;
247
248注册全部应用程序状态观测器。
249
250**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER
251
252**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
253
254**系统API**:该接口为系统接口,三方应用不支持调用。
255
256**参数:**
257
258| 参数名 | 类型 | 必填 | 说明 |
259| -------- | -------- | -------- | -------- |
260| observer | [ApplicationStateObserver](js-apis-inner-application-applicationStateObserver.md) | 是 | 返回观察者的数字代码。 |
261
262**示例:**
263
264  ```ts
265  import appManager from '@ohos.application.appManager';
266
267  const observerCode = appManager.registerApplicationStateObserver({
268    onForegroundApplicationChanged(appStateData) {
269        console.log('------------ onForegroundApplicationChanged -----------', appStateData);
270    },
271    onAbilityStateChanged(abilityStateData) {
272        console.log('------------ onAbilityStateChanged -----------', abilityStateData);
273    },
274    onProcessCreated(processData) {
275        console.log('------------ onProcessCreated -----------', processData);
276    },
277    onProcessDied(processData) {
278        console.log('------------ onProcessDied -----------', processData);
279    },
280    onProcessStateChanged(processData) {
281        console.log('------------ onProcessStateChanged -----------', processData);
282    }
283  });
284  console.log('-------- observerCode: ---------', observerCode);
285  ```
286
287## appManager.unregisterApplicationStateObserver<sup>8+</sup>
288
289unregisterApplicationStateObserver(observerId: number,  callback: AsyncCallback\<void>): void;
290
291取消注册应用程序状态观测器。
292
293**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER
294
295**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
296
297**系统API**:该接口为系统接口,三方应用不支持调用。
298
299**参数:**
300
301| 参数名 | 类型 | 必填 | 说明 |
302| -------- | -------- | -------- | -------- |
303| observerId | number | 是 | 表示观察者的编号代码。 |
304| callback | AsyncCallback\<void> | 是 | 表示指定的回调方法。 |
305
306**示例:**
307
308  ```ts
309  import appManager from '@ohos.application.appManager';
310  import { BusinessError } from '@ohos.base';
311
312  let observerId = 100;
313
314  function unregisterApplicationStateObserverCallback(err: BusinessError) {
315    if (err) {
316        console.error('------------ unregisterApplicationStateObserverCallback ------------', err);
317    }
318  }
319  appManager.unregisterApplicationStateObserver(observerId, unregisterApplicationStateObserverCallback);
320  ```
321
322## appManager.unregisterApplicationStateObserver<sup>8+</sup>
323
324unregisterApplicationStateObserver(observerId: number): Promise\<void>;
325
326取消注册应用程序状态观测器。
327
328**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER
329
330**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
331
332**系统API**:该接口为系统接口,三方应用不支持调用。
333
334**参数:**
335
336| 参数名 | 类型 | 必填 | 说明 |
337| -------- | -------- | -------- | -------- |
338| observerId | number | 是 | 表示观察者的编号代码。 |
339
340**返回值:**
341
342| 类型 | 说明 |
343| -------- | -------- |
344| Promise\<void> | 返回执行结果。 |
345
346**示例:**
347
348  ```ts
349  import appManager from '@ohos.application.appManager';
350  import { BusinessError } from '@ohos.base';
351
352  let observerId = 100;
353
354  appManager.unregisterApplicationStateObserver(observerId)
355  .then((data) => {
356      console.log('----------- unregisterApplicationStateObserver success ----------', data);
357  })
358  .catch((err: BusinessError) => {
359      console.error('----------- unregisterApplicationStateObserver fail ----------', err);
360  });
361  ```
362
363## appManager.getForegroundApplications<sup>8+</sup>
364
365getForegroundApplications(callback: AsyncCallback\<Array\<AppStateData>>): void;
366
367获取所有当前处于前台的应用信息。该应用信息由[AppStateData](js-apis-inner-application-appStateData.md)定义。
368
369**需要权限**:ohos.permission.GET_RUNNING_INFO
370
371**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
372
373**系统API**:该接口为系统接口,三方应用不支持调用。
374
375**参数:**
376
377| 参数名 | 类型 | 必填 | 说明 |
378| -------- | -------- | -------- | -------- |
379| callback | AsyncCallback\<Array\<[AppStateData](js-apis-inner-application-appStateData.md)>> | 是 | callback形式返回所有当前处于前台的应用信息。 |
380
381**示例:**
382
383  ```ts
384  import appManager from '@ohos.application.appManager';
385
386  appManager.getForegroundApplications((err, data) => {
387    if (err) {
388        console.error('--------- getForegroundApplicationsCallback fail ---------', err);
389    } else {
390        console.log('--------- getForegroundApplicationsCallback success ---------', data);
391    }
392  });
393  ```
394
395## appManager.getForegroundApplications<sup>8+</sup>
396
397getForegroundApplications(): Promise\<Array\<AppStateData>>;
398
399获取所有当前处于前台的应用信息。该应用信息由[AppStateData](js-apis-inner-application-appStateData.md)定义。
400
401**需要权限**:ohos.permission.GET_RUNNING_INFO
402
403**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
404
405**系统API**:该接口为系统接口,三方应用不支持调用。
406
407**返回值:**
408
409| 类型 | 说明 |
410| -------- | -------- |
411| Promise\<Array\<[AppStateData](js-apis-inner-application-appStateData.md)>> | Promise形式返回所有当前处于前台的应用信息。 |
412
413**示例:**
414
415  ```ts
416  import appManager from '@ohos.application.appManager';
417  import { BusinessError } from '@ohos.base';
418
419  appManager.getForegroundApplications()
420  .then((data) => {
421      console.log('--------- getForegroundApplications success -------', data);
422  })
423  .catch((err: BusinessError) => {
424      console.error('--------- getForegroundApplications fail -------', err);
425  });
426  ```
427
428## appManager.killProcessWithAccount<sup>8+</sup>
429
430killProcessWithAccount(bundleName: string, accountId: number): Promise\<void\>
431
432切断account进程(Promise形式)。
433
434> **说明:**
435>
436> 当accountId为当前用户时,不需要校验ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS权限。
437
438**需要权限**:ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS, ohos.permission.CLEAN_BACKGROUND_PROCESSES
439
440**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
441
442**系统API**: 此接口为系统接口,三方应用不支持调用。
443
444**参数:**
445
446| 参数名 | 类型 | 必填 | 说明 |
447| -------- | -------- | -------- | -------- |
448| bundleName | string | 是 | 应用Bundle名称。 |
449| accountId | number | 是 | 系统帐号的帐号ID,详情参考[getCreatedOsAccountsCount](js-apis-osAccount.md#getosaccountlocalidfromprocess)。 |
450
451**示例:**
452
453```ts
454import appManager from '@ohos.application.appManager';
455import { BusinessError } from '@ohos.base';
456
457let bundleName = 'bundleName';
458let accountId = 0;
459appManager.killProcessWithAccount(bundleName, accountId)
460   .then((data) => {
461       console.log('------------ killProcessWithAccount success ------------', data);
462   })
463   .catch((err: BusinessError) => {
464       console.error('------------ killProcessWithAccount fail ------------', err);
465   });
466```
467
468
469## appManager.killProcessWithAccount<sup>8+</sup>
470
471killProcessWithAccount(bundleName: string, accountId: number, callback: AsyncCallback\<void\>): void
472
473切断account进程(callback形式)。
474
475> **说明:**
476>
477> 当accountId为当前用户时,不需要校验ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS权限。
478
479**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
480
481**系统API**: 此接口为系统接口,三方应用不支持调用。
482
483**需要权限**:ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS, ohos.permission.CLEAN_BACKGROUND_PROCESSES
484
485**参数:**
486
487| 参数名 | 类型 | 必填 | 说明 |
488| -------- | -------- | -------- | -------- |
489| bundleName | string | 是 | 应用Bundle名称。 |
490| accountId | number | 是 | 系统帐号的帐号ID,详情参考[getCreatedOsAccountsCount](js-apis-osAccount.md#getosaccountlocalidfromprocess)。 |
491| callback | AsyncCallback\<void\> | 是 | 切断account进程的回调函数。 |
492
493**示例:**
494
495```ts
496import appManager from '@ohos.application.appManager';
497import { BusinessError } from '@ohos.base';
498
499let bundleName = 'bundleName';
500let accountId = 0;
501function killProcessWithAccountCallback(err: BusinessError, data: void) {
502   if (err) {
503       console.error('------------- killProcessWithAccountCallback fail, err: --------------', err);
504   } else {
505       console.log('------------- killProcessWithAccountCallback success, data: --------------', data);
506   }
507}
508appManager.killProcessWithAccount(bundleName, accountId, killProcessWithAccountCallback);
509```
510
511## appManager.killProcessesByBundleName<sup>8+</sup>
512
513killProcessesByBundleName(bundleName: string, callback: AsyncCallback\<void>);
514
515通过Bundle名称终止进程。
516
517**需要权限**:ohos.permission.CLEAN_BACKGROUND_PROCESSES
518
519**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
520
521**系统API**:该接口为系统接口,三方应用不支持调用。
522
523**参数:**
524
525| 参数名 | 类型 | 必填 | 说明 |
526| -------- | -------- | -------- | -------- |
527| bundleName | string | 是 | 表示Bundle名称。 |
528| callback | AsyncCallback\<void> | 是 | 表示指定的回调方法。 |
529
530**示例:**
531
532  ```ts
533  import appManager from '@ohos.application.appManager';
534import { BusinessError } from '@ohos.base';
535
536  let bundleName = 'bundleName';
537  function killProcessesByBundleNameCallback(err: BusinessError, data: void) {
538    if (err) {
539        console.error('------------- killProcessesByBundleNameCallback fail, err: --------------', err);
540    } else {
541        console.log('------------- killProcessesByBundleNameCallback success, data: --------------', data);
542    }
543  }
544  appManager.killProcessesByBundleName(bundleName, killProcessesByBundleNameCallback);
545  ```
546
547## appManager.killProcessesByBundleName<sup>8+</sup>
548
549killProcessesByBundleName(bundleName: string): Promise\<void>;
550
551通过Bundle名称终止进程。
552
553**需要权限**:ohos.permission.CLEAN_BACKGROUND_PROCESSES
554
555**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
556
557**系统API**:该接口为系统接口,三方应用不支持调用。
558
559**参数:**
560
561| 参数名 | 类型 | 必填 | 说明 |
562| -------- | -------- | -------- | -------- |
563| bundleName | string | 是 | 表示Bundle名称。 |
564
565**返回值:**
566
567| 类型 | 说明 |
568| -------- | -------- |
569| Promise\<void> | 返回执行结果。 |
570
571**示例:**
572
573  ```ts
574  import appManager from '@ohos.application.appManager';
575  import { BusinessError } from '@ohos.base';
576
577  let bundleName = 'com.example.myapplication';
578  appManager.killProcessesByBundleName(bundleName)
579    .then((data) => {
580        console.log('------------ killProcessesByBundleName success ------------', data);
581    })
582    .catch((err: BusinessError) => {
583        console.error('------------ killProcessesByBundleName fail ------------', err);
584    });
585  ```
586
587## appManager.clearUpApplicationData<sup>8+</sup>
588
589clearUpApplicationData(bundleName: string, callback: AsyncCallback\<void>);
590
591通过Bundle名称清除应用数据。
592
593**需要权限**:ohos.permission.CLEAN_APPLICATION_DATA
594
595**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
596
597**系统API**:该接口为系统接口,三方应用不支持调用。
598
599**参数:**
600
601| 参数名 | 类型 | 必填 | 说明 |
602| -------- | -------- | -------- | -------- |
603| bundleName | string | 是 | 表示Bundle名称。 |
604| callback | AsyncCallback\<void> | 是 | 表示指定的回调方法。 |
605
606**示例:**
607
608  ```ts
609  import appManager from '@ohos.application.appManager';
610  import { BusinessError } from '@ohos.base';
611
612  let bundleName = 'bundleName';
613  function clearUpApplicationDataCallback(err: BusinessError, data: void) {
614    if (err) {
615        console.error('------------- clearUpApplicationDataCallback fail, err: --------------', err);
616    } else {
617        console.log('------------- clearUpApplicationDataCallback success, data: --------------', data);
618    }
619  }
620  appManager.clearUpApplicationData(bundleName, clearUpApplicationDataCallback);
621  ```
622
623## appManager.clearUpApplicationData<sup>8+</sup>
624
625clearUpApplicationData(bundleName: string): Promise\<void>;
626
627通过Bundle名称清除应用数据。
628
629**需要权限**:ohos.permission.CLEAN_APPLICATION_DATA
630
631**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
632
633**系统API**:该接口为系统接口,三方应用不支持调用。
634
635**参数:**
636
637| 参数名 | 类型 | 必填 | 说明 |
638| -------- | -------- | -------- | -------- |
639| bundleName | string | 是 | 表示Bundle名称。 |
640
641**返回值:**
642
643| 类型 | 说明 |
644| -------- | -------- |
645| Promise\<void> | 返回执行结果。 |
646
647**示例:**
648
649  ```ts
650  import appManager from '@ohos.application.appManager';
651  import { BusinessError } from '@ohos.base';
652
653  let bundleName = 'bundleName';
654  appManager.clearUpApplicationData(bundleName)
655    .then((data) => {
656        console.log('------------ clearUpApplicationData success ------------', data);
657    })
658    .catch((err: BusinessError) => {
659        console.error('------------ clearUpApplicationData fail ------------', err);
660    });
661  ```