• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.application.appManager (appManager)(系统接口)
2<!--deprecated_code_no_check-->
3
4appManager模块提供App管理的能力,包括查询当前是否处于稳定性测试场景、查询是否为ram受限设备、获取应用程序的内存大小、获取有关运行进程的信息等。
5
6> **说明:**
7>
8> 本模块首批接口从API version 8 开始支持,从API version 9废弃,替换模块为[@ohos.app.ability.appManager](js-apis-app-ability-appManager.md)。后续版本的新增接口,采用上角标单独标记接口的起始版本。
9>
10> 当前页面仅包含本模块的系统接口,其他公开接口参见[@ohos.application.appManager (appManager)](js-apis-application-appManager.md)。
11
12## 导入模块
13
14```ts
15import appManager from '@ohos.application.appManager';
16```
17
18## appManager.registerApplicationStateObserver
19
20registerApplicationStateObserver(observer: ApplicationStateObserver): number
21
22注册全部应用程序状态观测器。
23
24**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER
25
26**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
27
28**系统接口**:此接口为系统接口。
29
30**参数:**
31
32| 参数名 | 类型 | 必填 | 说明 |
33| -------- | -------- | -------- | -------- |
34| observer | [ApplicationStateObserver](js-apis-inner-application-applicationStateObserver.md) | 是 | 表示程序状态观测器,用于观测应用的生命周期变化。 |
35
36**返回值:**
37
38| 类型 | 说明 |
39| --- | --- |
40| number | 已注册观测器的数字代码。|
41
42**示例:**
43
44  ```ts
45  import appManager from '@ohos.application.appManager';
46
47  const observerCode = appManager.registerApplicationStateObserver({
48    onForegroundApplicationChanged(appStateData) {
49        console.log('------------ onForegroundApplicationChanged -----------', appStateData);
50    },
51    onAbilityStateChanged(abilityStateData) {
52        console.log('------------ onAbilityStateChanged -----------', abilityStateData);
53    },
54    onProcessCreated(processData) {
55        console.log('------------ onProcessCreated -----------', processData);
56    },
57    onProcessDied(processData) {
58        console.log('------------ onProcessDied -----------', processData);
59    },
60    onProcessStateChanged(processData) {
61        console.log('------------ onProcessStateChanged -----------', processData);
62    }
63  });
64  console.log('-------- observerCode: ---------', observerCode);
65  ```
66
67## appManager.unregisterApplicationStateObserver
68
69unregisterApplicationStateObserver(observerId: number,  callback: AsyncCallback\<void>): void
70
71取消注册应用程序状态观测器。使用callback异步回调。
72
73**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER
74
75**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
76
77**系统接口**:此接口为系统接口。
78
79**参数:**
80
81| 参数名 | 类型 | 必填 | 说明 |
82| -------- | -------- | -------- | -------- |
83| observerId | number | 是 | 表示观察者的编号代码。 |
84| callback | AsyncCallback\<void> | 是 | 表示指定的callback回调方法。 |
85
86**示例:**
87
88  ```ts
89  import appManager from '@ohos.application.appManager';
90  import { BusinessError } from '@ohos.base';
91
92  let observerId = 100;
93
94  function unregisterApplicationStateObserverCallback(err: BusinessError) {
95    if (err) {
96        console.error('------------ unregisterApplicationStateObserverCallback ------------', err);
97    }
98  }
99  appManager.unregisterApplicationStateObserver(observerId, unregisterApplicationStateObserverCallback);
100  ```
101
102## appManager.unregisterApplicationStateObserver
103
104unregisterApplicationStateObserver(observerId: number): Promise\<void>
105
106取消注册应用程序状态观测器。使用Promise异步回调。
107
108**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER
109
110**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
111
112**系统接口**:此接口为系统接口。
113
114**参数:**
115
116| 参数名 | 类型 | 必填 | 说明 |
117| -------- | -------- | -------- | -------- |
118| observerId | number | 是 | 表示观察者的编号代码。 |
119
120**返回值:**
121
122| 类型 | 说明 |
123| -------- | -------- |
124| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
125
126**示例:**
127
128  ```ts
129  import appManager from '@ohos.application.appManager';
130  import { BusinessError } from '@ohos.base';
131
132  let observerId = 100;
133
134  appManager.unregisterApplicationStateObserver(observerId)
135  .then((data) => {
136      console.log('----------- unregisterApplicationStateObserver success ----------', data);
137  })
138  .catch((err: BusinessError) => {
139      console.error('----------- unregisterApplicationStateObserver fail ----------', err);
140  });
141  ```
142
143## appManager.getForegroundApplications
144
145getForegroundApplications(callback: AsyncCallback\<Array\<AppStateData>>): void
146
147获取所有当前处于前台的应用信息。该应用信息由[AppStateData](js-apis-inner-application-appStateData.md)定义。使用callback异步回调。
148
149**需要权限**:ohos.permission.GET_RUNNING_INFO
150
151**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
152
153**系统接口**:此接口为系统接口。
154
155**参数:**
156
157| 参数名 | 类型 | 必填 | 说明 |
158| -------- | -------- | -------- | -------- |
159| callback | AsyncCallback\<Array\<[AppStateData](js-apis-inner-application-appStateData.md)>> | 是 | 回调函数,返回所有当前处于前台的应用信息。 |
160
161**示例:**
162
163  ```ts
164  import appManager from '@ohos.application.appManager';
165
166  appManager.getForegroundApplications((err, data) => {
167    if (err) {
168        console.error('--------- getForegroundApplicationsCallback fail ---------', err);
169    } else {
170        console.log('--------- getForegroundApplicationsCallback success ---------', data);
171    }
172  });
173  ```
174
175## appManager.getForegroundApplications
176
177getForegroundApplications(): Promise\<Array\<AppStateData>>
178
179获取所有当前处于前台的应用信息。该应用信息由[AppStateData](js-apis-inner-application-appStateData.md)定义。使用Promise异步回调。
180
181**需要权限**:ohos.permission.GET_RUNNING_INFO
182
183**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
184
185**系统接口**:此接口为系统接口。
186
187**返回值:**
188
189| 类型 | 说明 |
190| -------- | -------- |
191| Promise\<Array\<[AppStateData](js-apis-inner-application-appStateData.md)>> | Promise对象,返回所有当前处于前台的应用信息。 |
192
193**示例:**
194
195  ```ts
196  import appManager from '@ohos.application.appManager';
197  import { BusinessError } from '@ohos.base';
198
199  appManager.getForegroundApplications()
200  .then((data) => {
201      console.log('--------- getForegroundApplications success -------', data);
202  })
203  .catch((err: BusinessError) => {
204      console.error('--------- getForegroundApplications fail -------', err);
205  });
206  ```
207
208## appManager.killProcessWithAccount
209
210killProcessWithAccount(bundleName: string, accountId: number): Promise\<void\>
211
212切断account进程(Promise形式)。
213
214> **说明:**
215>
216> 当accountId为当前用户时,不需要校验ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS权限。
217
218**需要权限**:ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS, ohos.permission.CLEAN_BACKGROUND_PROCESSES
219
220**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
221
222**系统接口**:此接口为系统接口。
223
224**参数:**
225
226| 参数名 | 类型 | 必填 | 说明 |
227| -------- | -------- | -------- | -------- |
228| bundleName | string | 是 | 应用Bundle名称。 |
229| accountId | number | 是 | 系统账号的账号ID,详情参考[getCreatedOsAccountsCount](../apis-basic-services-kit/js-apis-osAccount.md#getosaccountlocalidfromprocess)。 |
230
231**返回值:**
232
233| 类型 | 说明 |
234| -------- | -------- |
235| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
236
237**示例:**
238
239```ts
240import appManager from '@ohos.application.appManager';
241import { BusinessError } from '@ohos.base';
242
243let bundleName = 'bundleName';
244let accountId = 0;
245appManager.killProcessWithAccount(bundleName, accountId)
246   .then((data) => {
247       console.log('------------ killProcessWithAccount success ------------', data);
248   })
249   .catch((err: BusinessError) => {
250       console.error('------------ killProcessWithAccount fail ------------', err);
251   });
252```
253
254
255## appManager.killProcessWithAccount
256
257killProcessWithAccount(bundleName: string, accountId: number, callback: AsyncCallback\<void\>): void
258
259切断account进程(callback形式)。
260
261> **说明:**
262>
263> 当accountId为当前用户时,不需要校验ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS权限。
264
265**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
266
267**系统接口**:此接口为系统接口。
268
269**需要权限**:ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS, ohos.permission.CLEAN_BACKGROUND_PROCESSES
270
271**参数:**
272
273| 参数名 | 类型 | 必填 | 说明 |
274| -------- | -------- | -------- | -------- |
275| bundleName | string | 是 | 应用Bundle名称。 |
276| accountId | number | 是 | 系统账号的账号ID,详情参考[getCreatedOsAccountsCount](../apis-basic-services-kit/js-apis-osAccount.md#getosaccountlocalidfromprocess)。 |
277| callback | AsyncCallback\<void\> | 是 | 回调函数,当切断account进程成功,err为undefined,否则为错误对象。 |
278
279**示例:**
280
281```ts
282import appManager from '@ohos.application.appManager';
283import { BusinessError } from '@ohos.base';
284
285let bundleName = 'bundleName';
286let accountId = 0;
287function killProcessWithAccountCallback(err: BusinessError, data: void) {
288   if (err) {
289       console.error('------------- killProcessWithAccountCallback fail, err: --------------', err);
290   } else {
291       console.log('------------- killProcessWithAccountCallback success, data: --------------', data);
292   }
293}
294appManager.killProcessWithAccount(bundleName, accountId, killProcessWithAccountCallback);
295```
296
297## appManager.killProcessesByBundleName
298
299killProcessesByBundleName(bundleName: string, callback: AsyncCallback\<void>)
300
301通过Bundle名称终止进程。使用callback异步回调。
302
303**需要权限**:ohos.permission.CLEAN_BACKGROUND_PROCESSES
304
305**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
306
307**系统接口**:此接口为系统接口。
308
309**参数:**
310
311| 参数名 | 类型 | 必填 | 说明 |
312| -------- | -------- | -------- | -------- |
313| bundleName | string | 是 | 表示Bundle名称。 |
314| callback | AsyncCallback\<void> | 是 | 回调函数,当通过Bundle名称终止进程成功,err为undefined,否则为错误对象。 |
315
316**示例:**
317
318  ```ts
319  import appManager from '@ohos.application.appManager';
320import { BusinessError } from '@ohos.base';
321
322  let bundleName = 'bundleName';
323  function killProcessesByBundleNameCallback(err: BusinessError, data: void) {
324    if (err) {
325        console.error('------------- killProcessesByBundleNameCallback fail, err: --------------', err);
326    } else {
327        console.log('------------- killProcessesByBundleNameCallback success, data: --------------', data);
328    }
329  }
330  appManager.killProcessesByBundleName(bundleName, killProcessesByBundleNameCallback);
331  ```
332
333## appManager.killProcessesByBundleName
334
335killProcessesByBundleName(bundleName: string): Promise\<void>
336
337通过Bundle名称终止进程。使用Promise异步回调。
338
339**需要权限**:ohos.permission.CLEAN_BACKGROUND_PROCESSES
340
341**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
342
343**系统接口**:此接口为系统接口。
344
345**参数:**
346
347| 参数名 | 类型 | 必填 | 说明 |
348| -------- | -------- | -------- | -------- |
349| bundleName | string | 是 | 表示Bundle名称。 |
350
351**返回值:**
352
353| 类型 | 说明 |
354| -------- | -------- |
355| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
356
357**示例:**
358
359  ```ts
360  import appManager from '@ohos.application.appManager';
361  import { BusinessError } from '@ohos.base';
362
363  let bundleName = 'com.example.myapplication';
364  appManager.killProcessesByBundleName(bundleName)
365    .then((data) => {
366        console.log('------------ killProcessesByBundleName success ------------', data);
367    })
368    .catch((err: BusinessError) => {
369        console.error('------------ killProcessesByBundleName fail ------------', err);
370    });
371  ```
372
373## appManager.clearUpApplicationData
374
375clearUpApplicationData(bundleName: string, callback: AsyncCallback\<void>)
376
377通过Bundle名称清除应用数据。使用callback异步回调。
378
379**需要权限**:ohos.permission.CLEAN_APPLICATION_DATA
380
381**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
382
383**系统接口**:此接口为系统接口。
384
385**参数:**
386
387| 参数名 | 类型 | 必填 | 说明 |
388| -------- | -------- | -------- | -------- |
389| bundleName | string | 是 | 表示Bundle名称。 |
390| callback | AsyncCallback\<void> | 是 | 回调函数,当通过Bundle名称清除应用数据成功,err为undefined,否则为错误对象。 |
391
392**示例:**
393
394  ```ts
395  import appManager from '@ohos.application.appManager';
396  import { BusinessError } from '@ohos.base';
397
398  let bundleName = 'bundleName';
399  function clearUpApplicationDataCallback(err: BusinessError, data: void) {
400    if (err) {
401        console.error('------------- clearUpApplicationDataCallback fail, err: --------------', err);
402    } else {
403        console.log('------------- clearUpApplicationDataCallback success, data: --------------', data);
404    }
405  }
406  appManager.clearUpApplicationData(bundleName, clearUpApplicationDataCallback);
407  ```
408
409## appManager.clearUpApplicationData
410
411clearUpApplicationData(bundleName: string): Promise\<void>
412
413通过Bundle名称清除应用数据。使用Promise异步回调。
414
415**需要权限**:ohos.permission.CLEAN_APPLICATION_DATA
416
417**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
418
419**系统接口**:此接口为系统接口。
420
421**参数:**
422
423| 参数名 | 类型 | 必填 | 说明 |
424| -------- | -------- | -------- | -------- |
425| bundleName | string | 是 | 表示Bundle名称。 |
426
427**返回值:**
428
429| 类型 | 说明 |
430| -------- | -------- |
431| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
432
433**示例:**
434
435  ```ts
436  import appManager from '@ohos.application.appManager';
437  import { BusinessError } from '@ohos.base';
438
439  let bundleName = 'bundleName';
440  appManager.clearUpApplicationData(bundleName)
441    .then((data) => {
442        console.log('------------ clearUpApplicationData success ------------', data);
443    })
444    .catch((err: BusinessError) => {
445        console.error('------------ clearUpApplicationData fail ------------', err);
446    });
447  ```