• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.application.appManager (appManager)(系统接口)
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
10appManager模块提供App管理的能力,包括查询当前是否处于稳定性测试场景、查询是否为ram受限设备、获取应用程序的内存大小、获取有关运行进程的信息等。
11
12> **说明:**
13>
14> 本模块首批接口从API version 8 开始支持,从API version 9废弃,替换模块为[@ohos.app.ability.appManager](js-apis-app-ability-appManager.md)。后续版本的新增接口,采用上角标单独标记接口的起始版本。
15>
16> 当前页面仅包含本模块的系统接口,其他公开接口参见[@ohos.application.appManager (appManager)](js-apis-application-appManager.md)。
17
18## 导入模块
19
20```ts
21import appManager from '@ohos.application.appManager';
22```
23
24## appManager.registerApplicationStateObserver
25
26registerApplicationStateObserver(observer: ApplicationStateObserver): number
27
28注册全部应用程序状态观测器。
29
30**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER
31
32**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
33
34**系统接口**:此接口为系统接口。
35
36**参数:**
37
38| 参数名 | 类型 | 必填 | 说明 |
39| -------- | -------- | -------- | -------- |
40| observer | [ApplicationStateObserver](js-apis-inner-application-applicationStateObserver.md) | 是 | 表示程序状态观测器,用于观测应用的生命周期变化。 |
41
42**返回值:**
43
44| 类型 | 说明 |
45| --- | --- |
46| number | 已注册观测器的数字代码。|
47
48**示例:**
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
77取消注册应用程序状态观测器。使用callback异步回调。
78
79**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER
80
81**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
82
83**系统接口**:此接口为系统接口。
84
85**参数:**
86
87| 参数名 | 类型 | 必填 | 说明 |
88| -------- | -------- | -------- | -------- |
89| observerId | number | 是 | 表示观察者的编号代码。 |
90| callback | AsyncCallback\<void> | 是 | 表示指定的callback回调方法。 |
91
92**示例:**
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
112取消注册应用程序状态观测器。使用Promise异步回调。
113
114**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER
115
116**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
117
118**系统接口**:此接口为系统接口。
119
120**参数:**
121
122| 参数名 | 类型 | 必填 | 说明 |
123| -------- | -------- | -------- | -------- |
124| observerId | number | 是 | 表示观察者的编号代码。 |
125
126**返回值:**
127
128| 类型 | 说明 |
129| -------- | -------- |
130| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
131
132**示例:**
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
153获取所有当前处于前台的应用信息。该应用信息由[AppStateData](js-apis-inner-application-appStateData.md)定义。使用callback异步回调。
154
155**需要权限**:ohos.permission.GET_RUNNING_INFO
156
157**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
158
159**系统接口**:此接口为系统接口。
160
161**参数:**
162
163| 参数名 | 类型 | 必填 | 说明 |
164| -------- | -------- | -------- | -------- |
165| callback | AsyncCallback\<Array\<[AppStateData](js-apis-inner-application-appStateData.md)>> | 是 | 回调函数,返回所有当前处于前台的应用信息。 |
166
167**示例:**
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
185获取所有当前处于前台的应用信息。该应用信息由[AppStateData](js-apis-inner-application-appStateData.md)定义。使用Promise异步回调。
186
187**需要权限**:ohos.permission.GET_RUNNING_INFO
188
189**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
190
191**系统接口**:此接口为系统接口。
192
193**返回值:**
194
195| 类型 | 说明 |
196| -------- | -------- |
197| Promise\<Array\<[AppStateData](js-apis-inner-application-appStateData.md)>> | Promise对象,返回所有当前处于前台的应用信息。 |
198
199**示例:**
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
218切断account进程(Promise形式)。
219
220> **说明:**
221>
222> 当accountId为当前用户时,不需要校验ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS权限。
223
224**需要权限**:ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS, ohos.permission.CLEAN_BACKGROUND_PROCESSES
225
226**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
227
228**系统接口**:此接口为系统接口。
229
230**参数:**
231
232| 参数名 | 类型 | 必填 | 说明 |
233| -------- | -------- | -------- | -------- |
234| bundleName | string | 是 | 应用Bundle名称。 |
235| accountId | number | 是 | 系统账号的账号ID,详情参考[getOsAccountCount](../apis-basic-services-kit/js-apis-osAccount.md#getcreatedosaccountscountdeprecated)。 |
236
237**返回值:**
238
239| 类型 | 说明 |
240| -------- | -------- |
241| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
242
243**示例:**
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
265切断account进程(callback形式)。
266
267> **说明:**
268>
269> 当accountId为当前用户时,不需要校验ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS权限。
270
271**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
272
273**系统接口**:此接口为系统接口。
274
275**需要权限**:ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS, ohos.permission.CLEAN_BACKGROUND_PROCESSES
276
277**参数:**
278
279| 参数名 | 类型 | 必填 | 说明 |
280| -------- | -------- | -------- | -------- |
281| bundleName | string | 是 | 应用Bundle名称。 |
282| accountId | number | 是 | 系统账号的账号ID,详情参考[getOsAccountCount](../apis-basic-services-kit/js-apis-osAccount.md#getcreatedosaccountscountdeprecated)。 |
283| callback | AsyncCallback\<void\> | 是 | 回调函数,当切断account进程成功,err为undefined,否则为错误对象。 |
284
285**示例:**
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
307通过Bundle名称终止进程。使用callback异步回调。
308
309**需要权限**:ohos.permission.CLEAN_BACKGROUND_PROCESSES
310
311**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
312
313**系统接口**:此接口为系统接口。
314
315**参数:**
316
317| 参数名 | 类型 | 必填 | 说明 |
318| -------- | -------- | -------- | -------- |
319| bundleName | string | 是 | 表示Bundle名称。 |
320| callback | AsyncCallback\<void> | 是 | 回调函数,当通过Bundle名称终止进程成功,err为undefined,否则为错误对象。 |
321
322**示例:**
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
343通过Bundle名称终止进程。使用Promise异步回调。
344
345**需要权限**:ohos.permission.CLEAN_BACKGROUND_PROCESSES
346
347**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
348
349**系统接口**:此接口为系统接口。
350
351**参数:**
352
353| 参数名 | 类型 | 必填 | 说明 |
354| -------- | -------- | -------- | -------- |
355| bundleName | string | 是 | 表示Bundle名称。 |
356
357**返回值:**
358
359| 类型 | 说明 |
360| -------- | -------- |
361| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
362
363**示例:**
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
383通过Bundle名称清除应用数据。使用callback异步回调。
384
385**需要权限**:ohos.permission.CLEAN_APPLICATION_DATA
386
387**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
388
389**系统接口**:此接口为系统接口。
390
391**参数:**
392
393| 参数名 | 类型 | 必填 | 说明 |
394| -------- | -------- | -------- | -------- |
395| bundleName | string | 是 | 表示Bundle名称。 |
396| callback | AsyncCallback\<void> | 是 | 回调函数,当通过Bundle名称清除应用数据成功,err为undefined,否则为错误对象。 |
397
398**示例:**
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
419通过Bundle名称清除应用数据。使用Promise异步回调。
420
421**需要权限**:ohos.permission.CLEAN_APPLICATION_DATA
422
423**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
424
425**系统接口**:此接口为系统接口。
426
427**参数:**
428
429| 参数名 | 类型 | 必填 | 说明 |
430| -------- | -------- | -------- | -------- |
431| bundleName | string | 是 | 表示Bundle名称。 |
432
433**返回值:**
434
435| 类型 | 说明 |
436| -------- | -------- |
437| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
438
439**示例:**
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  ```