js-apis-app-ability-abilityManager.md 13.5 KB
Newer Older
Z
zengyawen 已提交
1
# @ohos.app.ability.abilityManager (AbilityManager)
D
donglin 已提交
2

D
donglin 已提交
3
AbilityManager模块提供获取、新增、修改Ability相关信息和状态信息进行的能力。
D
donglin 已提交
4 5 6 7 8 9 10 11

> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。  
> 本模块接口均为系统接口,三方应用不支持调用。

## 导入模块

M
m00512953 已提交
12
```ts
13
import abilityManager from '@ohos.app.ability.abilityManager';
D
donglin 已提交
14 15 16 17
```

## AbilityState

D
donglin 已提交
18
Ability的状态,该类型为枚举,可配合[AbilityRunningInfo](js-apis-inner-application-abilityRunningInfo.md)返回Abiltiy的状态。
D
donglin 已提交
19 20 21

**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core

22
**系统API**: 此枚举类型为系统接口内部定义,三方应用不支持调用。
D
donglin 已提交
23 24 25

| 名称 | 值 | 说明 | 
| -------- | -------- | -------- |
D
donglin 已提交
26
| INITIAL | 0 | 表示ability为初始化状态。| 
D
dy_study 已提交
27
| FOCUS | 2 | 表示ability为获焦状态。 |
D
donglin 已提交
28 29 30 31
| FOREGROUND | 9 | 表示ability为前台状态。  | 
| BACKGROUND | 10 | 表示ability为后台状态。  | 
| FOREGROUNDING | 11 | 表示ability为前台调度中状态。  | 
| BACKGROUNDING | 12 | 表示ability为后台调度中状态。  | 
D
donglin 已提交
32 33 34 35 36

## updateConfiguration

updateConfiguration(config: Configuration, callback: AsyncCallback\<void>): void

D
donglin 已提交
37
通过传入修改的配置项来更新配置(callback形式)。
D
donglin 已提交
38 39 40 41 42 43 44

**需要权限**: ohos.permission.UPDATE_CONFIGURATION

**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
 
**参数**

D
fix  
donglin 已提交
45
| 参数名        | 类型                                       | 必填   | 说明             |
D
donglin 已提交
46
| --------- | ---------------------------------------- | ---- | -------------- |
D
donglin 已提交
47
| config    | [Configuration](js-apis-app-ability-configuration.md)   | 是    | 新的配置项,仅需配置需要更新的项。 |
D
donglin 已提交
48
| callback  | AsyncCallback\<void>                   | 是    | 以回调方式返回接口运行结果,可进行错误处理或其他自定义处理。      |
D
donglin 已提交
49

D
donglin 已提交
50 51 52 53 54 55 56 57
**错误码**

| 错误码ID | 错误信息 |
| ------- | -------- |
| 16000050 | Internal error. |

以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)

D
donglin 已提交
58 59
**示例**

M
m00512953 已提交
60
```ts
61 62
import abilityManager from '@ohos.app.ability.abilityManager';

D
donglin 已提交
63 64 65 66
const config = {
  language: 'Zh-Hans',                 // 简体中文
  colorMode: COLOR_MODE_LIGHT,         // 浅色模式
  direction: DIRECTION_VERTICAL,       // 垂直方向
M
mingxihua 已提交
67
  screenDensity: SCREEN_DENSITY_SDPI,  // 屏幕分辨率为'sdpi'
D
donglin 已提交
68 69
  displayId: 1,                        // 应用在Id为1的物理屏上显示
  hasPointerDevice: true,              // 指针类型设备已连接
70
};
D
donglin 已提交
71 72

try {
D
donglin 已提交
73
    abilityManager.updateConfiguration(config, (err) => {
D
donglin 已提交
74
        if (err && err.code !== 0) {
M
mingxihua 已提交
75
            console.log('updateConfiguration fail, err: ' + JSON.stringify(err));
D
donglin 已提交
76
        } else {
M
mingxihua 已提交
77
            console.log('updateConfiguration success.');
D
donglin 已提交
78 79
        }
    })
D
donglin 已提交
80
} catch (paramError) {
D
donglin 已提交
81 82
    console.log('error.code: ' + JSON.stringify(paramError.code)
        + ' error.message: ' + JSON.stringify(paramError.message));
D
donglin 已提交
83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
}
```

## updateConfiguration

updateConfiguration(config: Configuration): Promise\<void>

通过修改配置来更新配置(Promise形式)。

**需要权限**: ohos.permission.UPDATE_CONFIGURATION

**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core

**参数**

D
fix  
donglin 已提交
98
| 参数名        | 类型                                       | 必填   | 说明             |
D
donglin 已提交
99
| --------- | ---------------------------------------- | ---- | -------------- |
D
donglin 已提交
100
| config    | [Configuration](js-apis-app-ability-configuration.md)   | 是    | 新的配置项,仅需配置需要更新的项。 |
D
donglin 已提交
101 102 103 104 105

**返回值:**

| 类型                                       | 说明      |
| ---------------------------------------- | ------- |
D
donglin 已提交
106
| Promise\<void> | 以Promise方式返回接口运行结果息,可进行错误处理或其他自定义处理。 |
D
donglin 已提交
107

D
donglin 已提交
108 109 110 111 112 113 114 115
**错误码**

| 错误码ID | 错误信息 |
| ------- | -------- |
| 16000050 | Internal error. |

以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)

D
donglin 已提交
116 117
**示例**

M
m00512953 已提交
118
```ts
119 120
import abilityManager from '@ohos.app.ability.abilityManager';

D
donglin 已提交
121 122 123 124
const config = {
  language: 'Zh-Hans',                 // 简体中文
  colorMode: COLOR_MODE_LIGHT,         // 浅色模式
  direction: DIRECTION_VERTICAL,       // 垂直方向
M
mingxihua 已提交
125
  screenDensity: SCREEN_DENSITY_SDPI,  // 屏幕分辨率为'sdpi'
D
donglin 已提交
126 127
  displayId: 1,                        // 应用在Id为1的物理屏上显示
  hasPointerDevice: true,              // 指针类型设备已连接
128
};
D
donglin 已提交
129 130

try {
D
donglin 已提交
131 132 133 134 135
    abilityManager.updateConfiguration(config).then(() => {
        console.log('updateConfiguration success.');
    }).catch((err) => {
        console.log('updateConfiguration fail, err: ' + JSON.stringify(err));
    })
D
donglin 已提交
136
} catch (paramError) {
D
donglin 已提交
137 138
    console.log('error.code: ' + JSON.stringify(paramError.code)
        + ' error.message: ' + JSON.stringify(paramError.message));
D
donglin 已提交
139 140 141 142 143 144 145
}
```

## getAbilityRunningInfos

getAbilityRunningInfos(callback: AsyncCallback\<Array\<AbilityRunningInfo>>): void

D
dy_study 已提交
146
获取UIAbility运行相关信息(callback形式)。
D
donglin 已提交
147 148 149 150 151 152 153

**需要权限**: ohos.permission.GET_RUNNING_INFO

**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core

**参数**

D
fix  
donglin 已提交
154
| 参数名        | 类型                                       | 必填   | 说明             |
D
donglin 已提交
155
| --------- | ---------------------------------------- | ---- | -------------- |
D
donglin 已提交
156
| callback  | AsyncCallback\<Array\<[AbilityRunningInfo](js-apis-inner-application-abilityRunningInfo.md)>>  | 是    | 以回调方式返回接口运行结果及运行中的ability信息,可进行错误处理或其他自定义处理。      |
D
donglin 已提交
157

158 159 160 161 162 163 164 165
**错误码**

| 错误码ID | 错误信息 |
| ------- | -------- |
| 16000050 | Internal error. |

以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)

D
donglin 已提交
166 167
**示例**

M
m00512953 已提交
168
```ts
169 170
import abilityManager from '@ohos.app.ability.abilityManager';

D
donglin 已提交
171
try {
D
donglin 已提交
172
    abilityManager.getAbilityRunningInfos((err, data) => {
D
donglin 已提交
173
        if (err && err.code !== 0) {
M
mingxihua 已提交
174
            console.log('getAbilityRunningInfos fail, error: ' + JSON.stringify(err));
D
donglin 已提交
175
        } else {
M
mingxihua 已提交
176
            console.log('getAbilityRunningInfos success, data: ' + JSON.stringify(data));
D
donglin 已提交
177 178
        }
    });
D
donglin 已提交
179
} catch (paramError) {
D
donglin 已提交
180 181
    console.log('error.code: ' + JSON.stringify(paramError.code)
        + ' error.message: ' + JSON.stringify(paramError.message));
D
donglin 已提交
182 183 184 185 186 187 188
}
```

## getAbilityRunningInfos

getAbilityRunningInfos(): Promise\<Array\<AbilityRunningInfo>>

D
dy_study 已提交
189
获取UIAbility运行相关信息(Promise形式)。
D
donglin 已提交
190 191 192 193 194 195 196 197 198

**需要权限**: ohos.permission.GET_RUNNING_INFO

**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core

**返回值:**

| 类型                                       | 说明      |
| ---------------------------------------- | ------- |
D
donglin 已提交
199
| Promise\<Array\<[AbilityRunningInfo](js-apis-inner-application-abilityRunningInfo.md)>> | 以Promise方式返回接口运行结果及运行中的ability信息,可进行错误处理或其他自定义处理。 |
D
donglin 已提交
200

D
donglin 已提交
201 202 203 204 205 206 207 208
**错误码**

| 错误码ID | 错误信息 |
| ------- | -------- |
| 16000050 | Internal error. |

以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)

D
donglin 已提交
209 210
**示例**

M
m00512953 已提交
211
```ts
212 213
import abilityManager from '@ohos.app.ability.abilityManager';

D
donglin 已提交
214
try {
D
donglin 已提交
215
    abilityManager.getAbilityRunningInfos().then((data) => {
M
mingxihua 已提交
216
        console.log('getAbilityRunningInfos success, data: ' + JSON.stringify(data));
D
donglin 已提交
217
    }).catch((err) => {
M
mingxihua 已提交
218
        console.log('getAbilityRunningInfos fail, err: '  + JSON.stringify(err));
D
donglin 已提交
219
    });
D
donglin 已提交
220
} catch (paramError) {
D
donglin 已提交
221 222
    console.log('error.code: ' + JSON.stringify(paramError.code)
        + ' error.message: ' + JSON.stringify(paramError.message));
D
donglin 已提交
223 224 225 226 227 228 229 230 231 232 233 234 235 236 237
}
```

## getExtensionRunningInfos

getExtensionRunningInfos(upperLimit: number, callback: AsyncCallback\<Array\<ExtensionRunningInfo>>): void

获取关于运行扩展能力的信息(callback形式)。

**需要权限**: ohos.permission.GET_RUNNING_INFO

**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core

**参数**

D
fix  
donglin 已提交
238
| 参数名        | 类型                                       | 必填   | 说明             |
D
donglin 已提交
239
| --------- | ---------------------------------------- | ---- | -------------- |
D
donglin 已提交
240
| upperLimit | number                                   | 是 | 获取消息数量的最大限制,最大为2<sup>31</sup>-1。 |
D
donglin 已提交
241
| callback  | AsyncCallback\<Array\<[ExtensionRunningInfo](js-apis-inner-application-extensionRunningInfo.md)>>  | 是    | 以回调方式返回接口运行结果及运行中的extension信息,可进行错误处理或其他自定义处理。      |
D
donglin 已提交
242

D
donglin 已提交
243 244 245 246 247 248 249 250
**错误码**

| 错误码ID | 错误信息 |
| ------- | -------- |
| 16000050 | Internal error. |

以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)

D
donglin 已提交
251 252
**示例**

M
m00512953 已提交
253
```ts
254 255
import abilityManager from '@ohos.app.ability.abilityManager';

D
donglin 已提交
256
let upperLimit = 10;
D
donglin 已提交
257 258

try {
D
donglin 已提交
259
    abilityManager.getExtensionRunningInfos(upperLimit, (err, data) => { 
D
donglin 已提交
260
        if (err && err.code !== 0) {
M
mingxihua 已提交
261
            console.log('getExtensionRunningInfos fail, err: ' + JSON.stringify(err));
D
donglin 已提交
262
        } else {
M
mingxihua 已提交
263
            console.log('getExtensionRunningInfos success, data: ' + JSON.stringify(data));
D
donglin 已提交
264 265
        }
    });
D
donglin 已提交
266
} catch (paramError) {
D
donglin 已提交
267 268
    console.log('error.code: ' + JSON.stringify(paramError.code)
        + ' error.message: ' + JSON.stringify(paramError.message));
D
donglin 已提交
269 270 271 272 273 274 275 276 277 278 279 280 281 282 283
}
```

## getExtensionRunningInfos

getExtensionRunningInfos(upperLimit: number): Promise\<Array\<ExtensionRunningInfo>>

获取关于运行扩展能力的信息(Promise形式)。
 
**需要权限**: ohos.permission.GET_RUNNING_INFO

**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core

**参数**

D
fix  
donglin 已提交
284
| 参数名        | 类型                                       | 必填   | 说明             |
D
donglin 已提交
285
| --------- | ---------------------------------------- | ---- | -------------- |
D
donglin 已提交
286
| upperLimit | number                                   | 是 | 获取消息数量的最大限制,最大为2<sup>31</sup>-1。 |
D
donglin 已提交
287 288 289 290 291

**返回值:**

| 类型                                       | 说明      |
| ---------------------------------------- | ------- |
D
donglin 已提交
292
| Promise\<Array\<[ExtensionRunningInfo](js-apis-inner-application-extensionRunningInfo.md)>> | 以Promise方式返回接口运行结果及运行中的extension信息,可进行错误处理或其他自定义处理。 |
D
donglin 已提交
293

D
donglin 已提交
294 295 296 297 298 299 300 301
**错误码**

| 错误码ID | 错误信息 |
| ------- | -------- |
| 16000050 | Internal error. |

以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)

D
donglin 已提交
302 303
**示例**

M
m00512953 已提交
304
```ts
305 306
import abilityManager from '@ohos.app.ability.abilityManager';

D
donglin 已提交
307
let upperLimit = 10;
D
donglin 已提交
308 309

try {
D
donglin 已提交
310
    abilityManager.getExtensionRunningInfos(upperLimit).then((data) => {
M
mingxihua 已提交
311
        console.log('getExtensionRunningInfos success, data: ' + JSON.stringify(data));
D
donglin 已提交
312
    }).catch((err) => {
M
mingxihua 已提交
313
        console.log('getExtensionRunningInfos fail, err: '  + JSON.stringify(err));
D
donglin 已提交
314
    })
D
donglin 已提交
315
} catch (paramError) {
D
donglin 已提交
316 317
    console.log('error.code: ' + JSON.stringify(paramError.code)
        + ' error.message: ' + JSON.stringify(paramError.message));
D
donglin 已提交
318 319 320 321 322 323 324 325 326 327 328 329 330
}
```

## getTopAbility<sup>9+</sup>

getTopAbility(callback: AsyncCallback\<ElementName>): void;

获取窗口焦点的ability接口(callback形式)。

**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core

**参数**

D
fix  
donglin 已提交
331
| 参数名        | 类型                                       | 必填   | 说明             |
D
donglin 已提交
332
| --------- | ---------------------------------------- | ---- | -------------- |
D
donglin 已提交
333
| callback  | AsyncCallback\<[ElementName](js-apis-bundleManager-elementName.md)>  | 是    | 以回调方式返回接口运行结果及应用名,可进行错误处理或其他自定义处理。      |
D
donglin 已提交
334

D
donglin 已提交
335 336 337 338 339 340 341 342
**错误码**

| 错误码ID | 错误信息 |
| ------- | -------- |
| 16000050 | Internal error. |

以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)

D
donglin 已提交
343 344
**示例**

M
m00512953 已提交
345
```ts
346 347
import abilityManager from '@ohos.app.ability.abilityManager';

D
donglin 已提交
348
abilityManager.getTopAbility((err, data) => { 
D
donglin 已提交
349
    if (err && err.code !== 0) {
M
mingxihua 已提交
350
        console.log('getTopAbility fail, err: ' + JSON.stringify(err));
D
donglin 已提交
351
    } else {
M
mingxihua 已提交
352
        console.log('getTopAbility success, data: ' + JSON.stringify(data));
D
donglin 已提交
353
    }
D
donglin 已提交
354
});
D
donglin 已提交
355 356 357 358 359 360 361 362 363 364 365 366 367 368
```

## getTopAbility

getTopAbility(): Promise\<ElementName>;

获取窗口焦点的ability接口(Promise形式)。
 
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core

**返回值:**

| 类型                                       | 说明      |
| ---------------------------------------- | ------- |
D
donglin 已提交
369
| Promise\<[ElementName](js-apis-bundleManager-elementName.md)>| 以Promise方式返回接口运行结果及应用名,可进行错误处理或其他自定义处理。 |
D
donglin 已提交
370

D
donglin 已提交
371 372 373 374 375 376 377 378
**错误码**

| 错误码ID | 错误信息 |
| ------- | -------- |
| 16000050 | Internal error. |

以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)

D
donglin 已提交
379 380
**示例**

M
m00512953 已提交
381
```ts
382 383
import abilityManager from '@ohos.app.ability.abilityManager';

D
donglin 已提交
384
abilityManager.getTopAbility().then((data) => {
M
mingxihua 已提交
385
    console.log('getTopAbility success, data: ' + JSON.stringify(data));
D
donglin 已提交
386
}).catch((err) => {
M
mingxihua 已提交
387
    console.log('getTopAbility fail, err: '  + JSON.stringify(err));
D
donglin 已提交
388
})
D
donglin 已提交
389
```