• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.app.ability.abilityManager (AbilityManager)
2
3AbilityManager模块提供获取、新增、修改Ability相关信息和状态信息进行的能力。
4
5> **说明:**
6>
7> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8> 本模块接口均为系统接口,三方应用不支持调用。
9
10## 导入模块
11
12```ts
13import abilityManager from '@ohos.app.ability.abilityManager';
14```
15
16## AbilityState
17
18Ability的状态,该类型为枚举,可配合[AbilityRunningInfo](js-apis-inner-application-abilityRunningInfo.md)返回Abiltiy的状态。
19
20**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
21
22**系统API**: 此枚举类型为系统接口内部定义,三方应用不支持调用。
23
24| 名称 | 值 | 说明 |
25| -------- | -------- | -------- |
26| INITIAL | 0 | 表示ability为初始化状态。|
27| FOCUS | 2 | 表示ability为获焦状态。 |
28| FOREGROUND | 9 | 表示ability为前台状态。  |
29| BACKGROUND | 10 | 表示ability为后台状态。  |
30| FOREGROUNDING | 11 | 表示ability为前台调度中状态。  |
31| BACKGROUNDING | 12 | 表示ability为后台调度中状态。  |
32
33## updateConfiguration
34
35updateConfiguration(config: Configuration, callback: AsyncCallback\<void>): void
36
37通过传入修改的配置项来更新配置(callback形式)。
38
39**需要权限**: ohos.permission.UPDATE_CONFIGURATION
40
41**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
42
43**参数**:
44
45| 参数名        | 类型                                       | 必填   | 说明             |
46| --------- | ---------------------------------------- | ---- | -------------- |
47| config    | [Configuration](js-apis-app-ability-configuration.md)   | 是    | 新的配置项,仅需配置需要更新的项。 |
48| callback  | AsyncCallback\<void>                   | 是    | 以回调方式返回接口运行结果,可进行错误处理或其他自定义处理。      |
49
50**错误码**:
51
52| 错误码ID | 错误信息 |
53| ------- | -------- |
54| 16000050 | Internal error. |
55
56以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
57
58**示例**:
59
60```ts
61import abilityManager from '@ohos.app.ability.abilityManager';
62import ConfigurationConstant from '@ohos.app.ability.ConfigurationConstant';
63
64const config = {
65  language: 'Zh-Hans',                 // 简体中文
66  colorMode: ConfigurationConstant.ColorMode.COLOR_MODE_LIGHT,         // 浅色模式
67  direction: ConfigurationConstant.Direction.DIRECTION_VERTICAL,       // 垂直方向
68  screenDensity: ConfigurationConstant.ScreenDensity.SCREEN_DENSITY_SDPI,  // 屏幕像素密度为'sdpi'
69  displayId: 1,                        // 应用在Id为1的物理屏上显示
70  hasPointerDevice: true,              // 指针类型设备已连接
71};
72
73try {
74    abilityManager.updateConfiguration(config, (err) => {
75        if (err.code !== 0) {
76            console.log('updateConfiguration fail, err: ' + JSON.stringify(err));
77        } else {
78            console.log('updateConfiguration success.');
79        }
80    });
81} catch (paramError) {
82    console.log('error.code: ' + JSON.stringify(paramError.code)
83        + ' error.message: ' + JSON.stringify(paramError.message));
84}
85```
86
87## updateConfiguration
88
89updateConfiguration(config: Configuration): Promise\<void>
90
91通过修改配置来更新配置(Promise形式)。
92
93**需要权限**: ohos.permission.UPDATE_CONFIGURATION
94
95**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
96
97**参数**:
98
99| 参数名        | 类型                                       | 必填   | 说明             |
100| --------- | ---------------------------------------- | ---- | -------------- |
101| config    | [Configuration](js-apis-app-ability-configuration.md)   | 是    | 新的配置项,仅需配置需要更新的项。 |
102
103**返回值:**
104
105| 类型                                       | 说明      |
106| ---------------------------------------- | ------- |
107| Promise\<void> | 以Promise方式返回接口运行结果息,可进行错误处理或其他自定义处理。 |
108
109**错误码**:
110
111| 错误码ID | 错误信息 |
112| ------- | -------- |
113| 16000050 | Internal error. |
114
115以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
116
117**示例**:
118
119```ts
120import abilityManager from '@ohos.app.ability.abilityManager';
121import ConfigurationConstant from '@ohos.app.ability.ConfigurationConstant';
122
123const config = {
124  language: 'Zh-Hans',                 // 简体中文
125  colorMode: ConfigurationConstant.ColorMode.COLOR_MODE_LIGHT,         // 浅色模式
126  direction: ConfigurationConstant.Direction.DIRECTION_VERTICAL,       // 垂直方向
127  screenDensity: ConfigurationConstant.ScreenDensity.SCREEN_DENSITY_SDPI,  // 屏幕像素密度为'sdpi'
128  displayId: 1,                        // 应用在Id为1的物理屏上显示
129  hasPointerDevice: true,              // 指针类型设备已连接
130};
131
132try {
133    abilityManager.updateConfiguration(config).then(() => {
134        console.log('updateConfiguration success.');
135    }).catch((err) => {
136        console.log('updateConfiguration fail, err: ' + JSON.stringify(err));
137    });
138} catch (paramError) {
139    console.log('error.code: ' + JSON.stringify(paramError.code)
140        + ' error.message: ' + JSON.stringify(paramError.message));
141}
142```
143
144## getAbilityRunningInfos
145
146getAbilityRunningInfos(callback: AsyncCallback\<Array\<AbilityRunningInfo>>): void
147
148获取UIAbility运行相关信息(callback形式)。
149
150**需要权限**: ohos.permission.GET_RUNNING_INFO
151
152**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
153
154**参数**:
155
156| 参数名        | 类型                                       | 必填   | 说明             |
157| --------- | ---------------------------------------- | ---- | -------------- |
158| callback  | AsyncCallback\<Array\<[AbilityRunningInfo](js-apis-inner-application-abilityRunningInfo.md)>>  | 是    | 以回调方式返回接口运行结果及运行中的ability信息,可进行错误处理或其他自定义处理。      |
159
160**错误码**:
161
162| 错误码ID | 错误信息 |
163| ------- | -------- |
164| 16000050 | Internal error. |
165
166以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
167
168**示例**:
169
170```ts
171import abilityManager from '@ohos.app.ability.abilityManager';
172
173try {
174    abilityManager.getAbilityRunningInfos((err, data) => {
175        if (err.code !== 0) {
176            console.log('getAbilityRunningInfos fail, error: ' + JSON.stringify(err));
177        } else {
178            console.log('getAbilityRunningInfos success, data: ' + JSON.stringify(data));
179        }
180    });
181} catch (paramError) {
182    console.log('error.code: ' + JSON.stringify(paramError.code)
183        + ' error.message: ' + JSON.stringify(paramError.message));
184}
185```
186
187## getAbilityRunningInfos
188
189getAbilityRunningInfos(): Promise\<Array\<AbilityRunningInfo>>
190
191获取UIAbility运行相关信息(Promise形式)。
192
193**需要权限**: ohos.permission.GET_RUNNING_INFO
194
195**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
196
197**返回值:**
198
199| 类型                                       | 说明      |
200| ---------------------------------------- | ------- |
201| Promise\<Array\<[AbilityRunningInfo](js-apis-inner-application-abilityRunningInfo.md)>> | 以Promise方式返回接口运行结果及运行中的ability信息,可进行错误处理或其他自定义处理。 |
202
203**错误码**:
204
205| 错误码ID | 错误信息 |
206| ------- | -------- |
207| 16000050 | Internal error. |
208
209以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
210
211**示例**:
212
213```ts
214import abilityManager from '@ohos.app.ability.abilityManager';
215
216try {
217    abilityManager.getAbilityRunningInfos().then((data) => {
218        console.log('getAbilityRunningInfos success, data: ' + JSON.stringify(data));
219    }).catch((err) => {
220        console.log('getAbilityRunningInfos fail, err: '  + JSON.stringify(err));
221    });
222} catch (paramError) {
223    console.log('error.code: ' + JSON.stringify(paramError.code)
224        + ' error.message: ' + JSON.stringify(paramError.message));
225}
226```
227
228## getExtensionRunningInfos
229
230getExtensionRunningInfos(upperLimit: number, callback: AsyncCallback\<Array\<ExtensionRunningInfo>>): void
231
232获取关于运行扩展能力的信息(callback形式)。
233
234**需要权限**: ohos.permission.GET_RUNNING_INFO
235
236**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
237
238**参数**:
239
240| 参数名        | 类型                                       | 必填   | 说明             |
241| --------- | ---------------------------------------- | ---- | -------------- |
242| upperLimit | number                                   | 是 | 获取消息数量的最大限制,最大为2<sup>31</sup>-1。 |
243| callback  | AsyncCallback\<Array\<[ExtensionRunningInfo](js-apis-inner-application-extensionRunningInfo.md)>>  | 是    | 以回调方式返回接口运行结果及运行中的extension信息,可进行错误处理或其他自定义处理。      |
244
245**错误码**:
246
247| 错误码ID | 错误信息 |
248| ------- | -------- |
249| 16000050 | Internal error. |
250
251以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
252
253**示例**:
254
255```ts
256import abilityManager from '@ohos.app.ability.abilityManager';
257
258let upperLimit = 10;
259
260try {
261    abilityManager.getExtensionRunningInfos(upperLimit, (err, data) => {
262        if (err.code !== 0) {
263            console.log('getExtensionRunningInfos fail, err: ' + JSON.stringify(err));
264        } else {
265            console.log('getExtensionRunningInfos success, data: ' + JSON.stringify(data));
266        }
267    });
268} catch (paramError) {
269    console.log('error.code: ' + JSON.stringify(paramError.code)
270        + ' error.message: ' + JSON.stringify(paramError.message));
271}
272```
273
274## getExtensionRunningInfos
275
276getExtensionRunningInfos(upperLimit: number): Promise\<Array\<ExtensionRunningInfo>>
277
278获取关于运行扩展能力的信息(Promise形式)。
279
280**需要权限**: ohos.permission.GET_RUNNING_INFO
281
282**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
283
284**参数**:
285
286| 参数名        | 类型                                       | 必填   | 说明             |
287| --------- | ---------------------------------------- | ---- | -------------- |
288| upperLimit | number                                   | 是 | 获取消息数量的最大限制,最大为2<sup>31</sup>-1。 |
289
290**返回值:**
291
292| 类型                                       | 说明      |
293| ---------------------------------------- | ------- |
294| Promise\<Array\<[ExtensionRunningInfo](js-apis-inner-application-extensionRunningInfo.md)>> | 以Promise方式返回接口运行结果及运行中的extension信息,可进行错误处理或其他自定义处理。 |
295
296**错误码**:
297
298| 错误码ID | 错误信息 |
299| ------- | -------- |
300| 16000050 | Internal error. |
301
302以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
303
304**示例**:
305
306```ts
307import abilityManager from '@ohos.app.ability.abilityManager';
308
309let upperLimit = 10;
310
311try {
312    abilityManager.getExtensionRunningInfos(upperLimit).then((data) => {
313        console.log('getExtensionRunningInfos success, data: ' + JSON.stringify(data));
314    }).catch((err) => {
315        console.log('getExtensionRunningInfos fail, err: '  + JSON.stringify(err));
316    });
317} catch (paramError) {
318    console.log('error.code: ' + JSON.stringify(paramError.code)
319        + ' error.message: ' + JSON.stringify(paramError.message));
320}
321```
322
323## getTopAbility<sup>9+</sup>
324
325getTopAbility(callback: AsyncCallback\<ElementName>): void;
326
327获取窗口焦点的ability接口(callback形式)。
328
329**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
330
331**参数**:
332
333| 参数名        | 类型                                       | 必填   | 说明             |
334| --------- | ---------------------------------------- | ---- | -------------- |
335| callback  | AsyncCallback\<[ElementName](js-apis-bundleManager-elementName.md)>  | 是    | 以回调方式返回接口运行结果及应用名,可进行错误处理或其他自定义处理。      |
336
337**错误码**:
338
339| 错误码ID | 错误信息 |
340| ------- | -------- |
341| 16000050 | Internal error. |
342
343以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
344
345**示例**:
346
347```ts
348import abilityManager from '@ohos.app.ability.abilityManager';
349
350abilityManager.getTopAbility((err, data) => {
351    if (err.code !== 0) {
352        console.log('getTopAbility fail, err: ' + JSON.stringify(err));
353    } else {
354        console.log('getTopAbility success, data: ' + JSON.stringify(data));
355    }
356});
357```
358
359## getTopAbility
360
361getTopAbility(): Promise\<ElementName>;
362
363获取窗口焦点的ability接口(Promise形式)。
364
365**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
366
367**返回值:**
368
369| 类型                                       | 说明      |
370| ---------------------------------------- | ------- |
371| Promise\<[ElementName](js-apis-bundleManager-elementName.md)>| 以Promise方式返回接口运行结果及应用名,可进行错误处理或其他自定义处理。 |
372
373**错误码**:
374
375| 错误码ID | 错误信息 |
376| ------- | -------- |
377| 16000050 | Internal error. |
378
379以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
380
381**示例**:
382
383```ts
384import abilityManager from '@ohos.app.ability.abilityManager';
385
386abilityManager.getTopAbility().then((data) => {
387    console.log('getTopAbility success, data: ' + JSON.stringify(data));
388}).catch((err) => {
389    console.log('getTopAbility fail, err: '  + JSON.stringify(err));
390});
391```