• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.application.appManager (appManager) (System API)
2<!--Kit: Ability Kit-->
3<!--Subsystem: Ability-->
4<!--Owner: @SKY2001-->
5<!--Designer: @yzkp-->
6<!--Tester: @lixueqing513-->
7<!--Adviser: @huipeizi-->
8<!--deprecated_code_no_check-->
9
10The appManager module implements application management. You can use the APIs of this module to query whether the application is undergoing a stability test, whether the application is running on a RAM constrained device, the memory size of the application, and information about the running process.
11
12> **NOTE**
13>
14> The APIs of this module are supported since API version 8 and deprecated since API version 9. You are advised to use [@ohos.app.ability.appManager](js-apis-app-ability-appManager.md) instead. Newly added APIs will be marked with a superscript to indicate their earliest API version.
15>
16> This topic describes only system APIs provided by the module. For details about its public APIs, see [@ohos.application.appManager (appManager)](js-apis-application-appManager.md).
17
18## Modules to Import
19
20```ts
21import appManager from '@ohos.application.appManager';
22```
23
24## appManager.registerApplicationStateObserver
25
26registerApplicationStateObserver(observer: ApplicationStateObserver): number
27
28Registers an observer to listen for the state changes of all applications.
29
30**Required permissions**: ohos.permission.RUNNING_STATE_OBSERVER
31
32**System capability**: SystemCapability.Ability.AbilityRuntime.Core
33
34**System API**: This is a system API.
35
36**Parameters**
37
38| Name| Type| Mandatory| Description|
39| -------- | -------- | -------- | -------- |
40| observer | [ApplicationStateObserver](js-apis-inner-application-applicationStateObserver.md) | Yes| Application state observer, which is used to observe the lifecycle change of an application.|
41
42**Return value**
43
44| Type| Description|
45| --- | --- |
46| number | Digital code of the observer.|
47
48**Example**
49
50  ```ts
51  import appManager from '@ohos.application.appManager';
52
53  const observerCode = appManager.registerApplicationStateObserver({
54    onForegroundApplicationChanged(appStateData) {
55        console.log('------------ onForegroundApplicationChanged -----------', appStateData);
56    },
57    onAbilityStateChanged(abilityStateData) {
58        console.log('------------ onAbilityStateChanged -----------', abilityStateData);
59    },
60    onProcessCreated(processData) {
61        console.log('------------ onProcessCreated -----------', processData);
62    },
63    onProcessDied(processData) {
64        console.log('------------ onProcessDied -----------', processData);
65    },
66    onProcessStateChanged(processData) {
67        console.log('------------ onProcessStateChanged -----------', processData);
68    }
69  });
70  console.log('-------- observerCode: ---------', observerCode);
71  ```
72
73## appManager.unregisterApplicationStateObserver
74
75unregisterApplicationStateObserver(observerId: number,  callback: AsyncCallback\<void>): void
76
77Deregisters the application state observer. This API uses an asynchronous callback to return the result.
78
79**Required permissions**: ohos.permission.RUNNING_STATE_OBSERVER
80
81**System capability**: SystemCapability.Ability.AbilityRuntime.Core
82
83**System API**: This is a system API.
84
85**Parameters**
86
87| Name| Type| Mandatory| Description|
88| -------- | -------- | -------- | -------- |
89| observerId | number | Yes| Numeric code of the observer.|
90| callback | AsyncCallback\<void> | Yes| Callback used to return the result.|
91
92**Example**
93
94  ```ts
95  import appManager from '@ohos.application.appManager';
96  import { BusinessError } from '@ohos.base';
97
98  let observerId = 100;
99
100  function unregisterApplicationStateObserverCallback(err: BusinessError) {
101    if (err) {
102        console.error('------------ unregisterApplicationStateObserverCallback ------------', err);
103    }
104  }
105  appManager.unregisterApplicationStateObserver(observerId, unregisterApplicationStateObserverCallback);
106  ```
107
108## appManager.unregisterApplicationStateObserver
109
110unregisterApplicationStateObserver(observerId: number): Promise\<void>
111
112Deregisters the application state observer. This API uses a promise to return the result.
113
114**Required permissions**: ohos.permission.RUNNING_STATE_OBSERVER
115
116**System capability**: SystemCapability.Ability.AbilityRuntime.Core
117
118**System API**: This is a system API.
119
120**Parameters**
121
122| Name| Type| Mandatory| Description|
123| -------- | -------- | -------- | -------- |
124| observerId | number | Yes| Numeric code of the observer.|
125
126**Return value**
127
128| Type| Description|
129| -------- | -------- |
130| Promise\<void> | Promise that returns no value.|
131
132**Example**
133
134  ```ts
135  import appManager from '@ohos.application.appManager';
136  import { BusinessError } from '@ohos.base';
137
138  let observerId = 100;
139
140  appManager.unregisterApplicationStateObserver(observerId)
141  .then((data) => {
142      console.log('----------- unregisterApplicationStateObserver success ----------', data);
143  })
144  .catch((err: BusinessError) => {
145      console.error('----------- unregisterApplicationStateObserver fail ----------', err);
146  });
147  ```
148
149## appManager.getForegroundApplications
150
151getForegroundApplications(callback: AsyncCallback\<Array\<AppStateData>>): void
152
153Obtains information about the applications that are running in the foreground. The application information is defined by [AppStateData](js-apis-inner-application-appStateData.md). This API uses an asynchronous callback to return the result.
154
155**Required permissions**: ohos.permission.GET_RUNNING_INFO
156
157**System capability**: SystemCapability.Ability.AbilityRuntime.Core
158
159**System API**: This is a system API.
160
161**Parameters**
162
163| Name| Type| Mandatory| Description|
164| -------- | -------- | -------- | -------- |
165| callback | AsyncCallback\<Array\<[AppStateData](js-apis-inner-application-appStateData.md)>> | Yes| Callback used to return the application information.|
166
167**Example**
168
169  ```ts
170  import appManager from '@ohos.application.appManager';
171
172  appManager.getForegroundApplications((err, data) => {
173    if (err) {
174        console.error('--------- getForegroundApplicationsCallback fail ---------', err);
175    } else {
176        console.log('--------- getForegroundApplicationsCallback success ---------', data);
177    }
178  });
179  ```
180
181## appManager.getForegroundApplications
182
183getForegroundApplications(): Promise\<Array\<AppStateData>>
184
185Obtains information about the applications that are running in the foreground. The application information is defined by [AppStateData](js-apis-inner-application-appStateData.md). This API uses a promise to return the result.
186
187**Required permissions**: ohos.permission.GET_RUNNING_INFO
188
189**System capability**: SystemCapability.Ability.AbilityRuntime.Core
190
191**System API**: This is a system API.
192
193**Return value**
194
195| Type| Description|
196| -------- | -------- |
197| Promise\<Array\<[AppStateData](js-apis-inner-application-appStateData.md)>> | Promise used to return the application information.|
198
199**Example**
200
201  ```ts
202  import appManager from '@ohos.application.appManager';
203  import { BusinessError } from '@ohos.base';
204
205  appManager.getForegroundApplications()
206  .then((data) => {
207      console.log('--------- getForegroundApplications success -------', data);
208  })
209  .catch((err: BusinessError) => {
210      console.error('--------- getForegroundApplications fail -------', err);
211  });
212  ```
213
214## appManager.killProcessWithAccount
215
216killProcessWithAccount(bundleName: string, accountId: number): Promise\<void\>
217
218Kills a process by bundle name and account ID. This API uses a promise to return the result.
219
220> **NOTE**
221>
222> The ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS permission is not required when **accountId** specifies the current user.
223
224**Required permissions**: ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS and ohos.permission.CLEAN_BACKGROUND_PROCESSES
225
226**System capability**: SystemCapability.Ability.AbilityRuntime.Core
227
228**System API**: This is a system API.
229
230**Parameters**
231
232| Name| Type| Mandatory| Description|
233| -------- | -------- | -------- | -------- |
234| bundleName | string | Yes| Bundle name.|
235| accountId | number | Yes| ID of a system account. For details, see [getOsAccountCount](../apis-basic-services-kit/js-apis-osAccount.md#getcreatedosaccountscountdeprecated).|
236
237**Return value**
238
239| Type| Description|
240| -------- | -------- |
241| Promise\<void> | Promise that returns no value.|
242
243**Example**
244
245```ts
246import appManager from '@ohos.application.appManager';
247import { BusinessError } from '@ohos.base';
248
249let bundleName = 'bundleName';
250let accountId = 0;
251appManager.killProcessWithAccount(bundleName, accountId)
252   .then((data) => {
253       console.log('------------ killProcessWithAccount success ------------', data);
254   })
255   .catch((err: BusinessError) => {
256       console.error('------------ killProcessWithAccount fail ------------', err);
257   });
258```
259
260
261## appManager.killProcessWithAccount
262
263killProcessWithAccount(bundleName: string, accountId: number, callback: AsyncCallback\<void\>): void
264
265Kills a process by bundle name and account ID. This API uses an asynchronous callback to return the result.
266
267> **NOTE**
268>
269> The ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS permission is not required when **accountId** specifies the current user.
270
271**System capability**: SystemCapability.Ability.AbilityRuntime.Core
272
273**System API**: This is a system API.
274
275**Required permissions**: ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS and ohos.permission.CLEAN_BACKGROUND_PROCESSES
276
277**Parameters**
278
279| Name| Type| Mandatory| Description|
280| -------- | -------- | -------- | -------- |
281| bundleName | string | Yes| Bundle name.|
282| accountId | number | Yes| ID of a system account. For details, see [getOsAccountCount](../apis-basic-services-kit/js-apis-osAccount.md#getcreatedosaccountscountdeprecated).|
283| callback | AsyncCallback\<void\> | Yes| Callback used to return the result. If the operation is successful, **err** is **undefined**; otherwise, **err** is an error object.|
284
285**Example**
286
287```ts
288import appManager from '@ohos.application.appManager';
289import { BusinessError } from '@ohos.base';
290
291let bundleName = 'bundleName';
292let accountId = 0;
293function killProcessWithAccountCallback(err: BusinessError, data: void) {
294   if (err) {
295       console.error('------------- killProcessWithAccountCallback fail, err: --------------', err);
296   } else {
297       console.log('------------- killProcessWithAccountCallback success, data: --------------', data);
298   }
299}
300appManager.killProcessWithAccount(bundleName, accountId, killProcessWithAccountCallback);
301```
302
303## appManager.killProcessesByBundleName
304
305killProcessesByBundleName(bundleName: string, callback: AsyncCallback\<void>)
306
307Kills a process by bundle name. This API uses an asynchronous callback to return the result.
308
309**Required permissions**: ohos.permission.CLEAN_BACKGROUND_PROCESSES
310
311**System capability**: SystemCapability.Ability.AbilityRuntime.Core
312
313**System API**: This is a system API.
314
315**Parameters**
316
317| Name| Type| Mandatory| Description|
318| -------- | -------- | -------- | -------- |
319| bundleName | string | Yes| Bundle name.|
320| callback | AsyncCallback\<void> | Yes| Callback used to return the result. If the process is killed, **err** is **undefined**; otherwise, **err** is an error object.|
321
322**Example**
323
324  ```ts
325  import appManager from '@ohos.application.appManager';
326import { BusinessError } from '@ohos.base';
327
328  let bundleName = 'bundleName';
329  function killProcessesByBundleNameCallback(err: BusinessError, data: void) {
330    if (err) {
331        console.error('------------- killProcessesByBundleNameCallback fail, err: --------------', err);
332    } else {
333        console.log('------------- killProcessesByBundleNameCallback success, data: --------------', data);
334    }
335  }
336  appManager.killProcessesByBundleName(bundleName, killProcessesByBundleNameCallback);
337  ```
338
339## appManager.killProcessesByBundleName
340
341killProcessesByBundleName(bundleName: string): Promise\<void>
342
343Kills a process by bundle name. This API uses a promise to return the result.
344
345**Required permissions**: ohos.permission.CLEAN_BACKGROUND_PROCESSES
346
347**System capability**: SystemCapability.Ability.AbilityRuntime.Core
348
349**System API**: This is a system API.
350
351**Parameters**
352
353| Name| Type| Mandatory| Description|
354| -------- | -------- | -------- | -------- |
355| bundleName | string | Yes| Bundle name.|
356
357**Return value**
358
359| Type| Description|
360| -------- | -------- |
361| Promise\<void> | Promise that returns no value.|
362
363**Example**
364
365  ```ts
366  import appManager from '@ohos.application.appManager';
367  import { BusinessError } from '@ohos.base';
368
369  let bundleName = 'com.example.myapplication';
370  appManager.killProcessesByBundleName(bundleName)
371    .then((data) => {
372        console.log('------------ killProcessesByBundleName success ------------', data);
373    })
374    .catch((err: BusinessError) => {
375        console.error('------------ killProcessesByBundleName fail ------------', err);
376    });
377  ```
378
379## appManager.clearUpApplicationData
380
381clearUpApplicationData(bundleName: string, callback: AsyncCallback\<void>)
382
383Clears application data by bundle name. This API uses an asynchronous callback to return the result.
384
385**Required permissions**: ohos.permission.CLEAN_APPLICATION_DATA
386
387**System capability**: SystemCapability.Ability.AbilityRuntime.Core
388
389**System API**: This is a system API.
390
391**Parameters**
392
393| Name| Type| Mandatory| Description|
394| -------- | -------- | -------- | -------- |
395| bundleName | string | Yes| Bundle name.|
396| callback | AsyncCallback\<void> | Yes| Callback used to return the result. If the application data is cleared, **err** is **undefined**; otherwise, **err** is an error object.|
397
398**Example**
399
400  ```ts
401  import appManager from '@ohos.application.appManager';
402  import { BusinessError } from '@ohos.base';
403
404  let bundleName = 'bundleName';
405  function clearUpApplicationDataCallback(err: BusinessError, data: void) {
406    if (err) {
407        console.error('------------- clearUpApplicationDataCallback fail, err: --------------', err);
408    } else {
409        console.log('------------- clearUpApplicationDataCallback success, data: --------------', data);
410    }
411  }
412  appManager.clearUpApplicationData(bundleName, clearUpApplicationDataCallback);
413  ```
414
415## appManager.clearUpApplicationData
416
417clearUpApplicationData(bundleName: string): Promise\<void>
418
419Clears application data by bundle name. This API uses a promise to return the result.
420
421**Required permissions**: ohos.permission.CLEAN_APPLICATION_DATA
422
423**System capability**: SystemCapability.Ability.AbilityRuntime.Core
424
425**System API**: This is a system API.
426
427**Parameters**
428
429| Name| Type| Mandatory| Description|
430| -------- | -------- | -------- | -------- |
431| bundleName | string | Yes| Bundle name.|
432
433**Return value**
434
435| Type| Description|
436| -------- | -------- |
437| Promise\<void> | Promise that returns no value.|
438
439**Example**
440
441  ```ts
442  import appManager from '@ohos.application.appManager';
443  import { BusinessError } from '@ohos.base';
444
445  let bundleName = 'bundleName';
446  appManager.clearUpApplicationData(bundleName)
447    .then((data) => {
448        console.log('------------ clearUpApplicationData success ------------', data);
449    })
450    .catch((err: BusinessError) => {
451        console.error('------------ clearUpApplicationData fail ------------', err);
452    });
453  ```
454