js-apis-app-ability-abilityManager.md 12.7 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
D
donglin 已提交
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 27 28 29 30
| INITIAL | 0 | 表示ability为初始化状态。| 
| FOREGROUND | 9 | 表示ability为前台状态。  | 
| BACKGROUND | 10 | 表示ability为后台状态。  | 
| FOREGROUNDING | 11 | 表示ability为前台调度中状态。  | 
| BACKGROUNDING | 12 | 表示ability为后台调度中状态。  | 
D
donglin 已提交
31 32 33 34 35

## updateConfiguration

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

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

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

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

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

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

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

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

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

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

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

## updateConfiguration

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

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

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

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

**参数**

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

**返回值:**

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

D
donglin 已提交
105 106 107 108 109 110 111 112
**错误码**

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

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

D
donglin 已提交
113 114
**示例**

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

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

## getAbilityRunningInfos

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

获取Ability运行相关信息(callback形式)。

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

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

**参数**

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

**示例**

M
m00512953 已提交
155
```ts
D
donglin 已提交
156
try {
D
donglin 已提交
157 158
    abilityManager.getAbilityRunningInfos((err, data) => {
        if (err.code !== 0) {
D
donglin 已提交
159 160 161 162 163
            console.log("getAbilityRunningInfos fail, error: " + JSON.stringify(err));
        } else {
            console.log("getAbilityRunningInfos success, data: " + JSON.stringify(data));
        }
    });
D
donglin 已提交
164
} catch (paramError) {
D
donglin 已提交
165 166
    console.log('error.code: ' + JSON.stringify(paramError.code)
        + ' error.message: ' + JSON.stringify(paramError.message));
D
donglin 已提交
167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183
}
```

## getAbilityRunningInfos

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

获取Ability运行相关信息(Promise形式)。

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

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

**返回值:**

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

D
donglin 已提交
186 187 188 189 190 191 192 193
**错误码**

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

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

D
donglin 已提交
194 195
**示例**

M
m00512953 已提交
196
```ts
D
donglin 已提交
197
try {
D
donglin 已提交
198 199 200 201 202
    abilityManager.getAbilityRunningInfos().then((data) => {
        console.log("getAbilityRunningInfos success, data: " + JSON.stringify(data))
    }).catch((err) => {
        console.log("getAbilityRunningInfos fail, err: "  + JSON.stringify(err));
    });
D
donglin 已提交
203
} catch (paramError) {
D
donglin 已提交
204 205
    console.log('error.code: ' + JSON.stringify(paramError.code)
        + ' error.message: ' + JSON.stringify(paramError.message));
D
donglin 已提交
206 207 208 209 210 211 212 213 214 215 216 217 218 219 220
}
```

## getExtensionRunningInfos

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

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

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

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

**参数**

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

D
donglin 已提交
226 227 228 229 230 231 232 233
**错误码**

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

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

D
donglin 已提交
234 235
**示例**

M
m00512953 已提交
236
```ts
D
donglin 已提交
237
let upperLimit = 10;
D
donglin 已提交
238 239

try {
D
donglin 已提交
240 241
    abilityManager.getExtensionRunningInfos(upperLimit, (err, data) => { 
        if (err.code !== 0) {
D
donglin 已提交
242 243 244 245 246
            console.log("getExtensionRunningInfos fail, err: " + JSON.stringify(err));
        } else {
            console.log("getExtensionRunningInfos success, data: " + JSON.stringify(data));
        }
    });
D
donglin 已提交
247
} catch (paramError) {
D
donglin 已提交
248 249
    console.log('error.code: ' + JSON.stringify(paramError.code)
        + ' error.message: ' + JSON.stringify(paramError.message));
D
donglin 已提交
250 251 252 253 254 255 256 257 258 259 260 261 262 263 264
}
```

## getExtensionRunningInfos

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

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

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

**参数**

D
fix  
donglin 已提交
265
| 参数名        | 类型                                       | 必填   | 说明             |
D
donglin 已提交
266
| --------- | ---------------------------------------- | ---- | -------------- |
D
donglin 已提交
267
| upperLimit | number                                   | 是 | 获取消息数量的最大限制,最大为2<sup>31</sup>-1。 |
D
donglin 已提交
268 269 270 271 272

**返回值:**

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

D
donglin 已提交
275 276 277 278 279 280 281 282
**错误码**

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

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

D
donglin 已提交
283 284
**示例**

M
m00512953 已提交
285
```ts
D
donglin 已提交
286
let upperLimit = 10;
D
donglin 已提交
287 288

try {
D
donglin 已提交
289 290 291 292 293
    abilityManager.getExtensionRunningInfos(upperLimit).then((data) => {
        console.log("getExtensionRunningInfos success, data: " + JSON.stringify(data));
    }).catch((err) => {
        console.log("getExtensionRunningInfos fail, err: "  + JSON.stringify(err));
    })
D
donglin 已提交
294
} catch (paramError) {
D
donglin 已提交
295 296
    console.log('error.code: ' + JSON.stringify(paramError.code)
        + ' error.message: ' + JSON.stringify(paramError.message));
D
donglin 已提交
297 298 299 300 301 302 303 304 305 306 307 308 309
}
```

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

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

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

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

**参数**

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

D
donglin 已提交
314 315 316 317 318 319 320 321
**错误码**

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

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

D
donglin 已提交
322 323
**示例**

M
m00512953 已提交
324
```ts
D
donglin 已提交
325 326
abilityManager.getTopAbility((err, data) => { 
    if (err.code !== 0) {
D
donglin 已提交
327 328 329 330
        console.log("getTopAbility fail, err: " + JSON.stringify(err));
    } else {
        console.log("getTopAbility success, data: " + JSON.stringify(data));
    }
D
donglin 已提交
331
});
D
donglin 已提交
332 333 334 335 336 337 338 339 340 341 342 343 344 345
```

## getTopAbility

getTopAbility(): Promise\<ElementName>;

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

**返回值:**

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

D
donglin 已提交
348 349 350 351 352 353 354 355
**错误码**

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

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

D
donglin 已提交
356 357
**示例**

M
m00512953 已提交
358
```ts
D
donglin 已提交
359
abilityManager.getTopAbility().then((data) => {
D
donglin 已提交
360
    console.log("getTopAbility success, data: " + JSON.stringify(data));
D
donglin 已提交
361
}).catch((err) => {
D
donglin 已提交
362
    console.log("getTopAbility fail, err: "  + JSON.stringify(err));
D
donglin 已提交
363
})
D
donglin 已提交
364
```