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```