1# @ohos.app.ability.abilityManager (Ability信息管理) 2 3AbilityManager模块提供获取Ability相关信息和运行状态信息的能力。 4 5> **说明:** 6> 7> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9## 导入模块 10 11```ts 12import { abilityManager } from '@kit.AbilityKit'; 13``` 14 15## AbilityState<sup>14+</sup> 16 17Ability的状态,该类型为枚举,可配合[AbilityRunningInfo](js-apis-inner-application-abilityRunningInfo.md)返回Ability的状态。 18 19**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 20 21| 名称 | 值 | 说明 | 22| -------- | -------- | -------- | 23| INITIAL | 0 | 表示ability为初始化状态。| 24| FOCUS | 2 | 表示ability为获焦状态。 | 25| FOREGROUND | 9 | 表示ability为前台状态。 | 26| BACKGROUND | 10 | 表示ability为后台状态。 | 27| FOREGROUNDING | 11 | 表示ability为前台调度中状态。 | 28| BACKGROUNDING | 12 | 表示ability为后台调度中状态。 | 29 30 31## abilityManager.getAbilityRunningInfos<sup>14+</sup> 32 33getAbilityRunningInfos(): Promise\<Array\<AbilityRunningInfo>> 34 35获取UIAbility运行相关信息(Promise形式)。 36 37**需要权限**:ohos.permission.GET_RUNNING_INFO 38 39**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 40 41**返回值:** 42 43| 类型 | 说明 | 44| ---------------------------------------- | ------- | 45| Promise\<Array\<[AbilityRunningInfo](js-apis-inner-application-abilityRunningInfo.md)>> | 以Promise方式返回接口运行结果及运行中的ability信息,可进行错误处理或其他自定义处理。 | 46 47**错误码**: 48 49以下错误码详细介绍请参考[元能力子系统错误码](errorcode-ability.md)。 50 51| 错误码ID | 错误信息 | 52| ------- | -------- | 53| 16000050 | Internal error. | 54 55**示例**: 56 57```ts 58import { abilityManager } from '@kit.AbilityKit'; 59import { BusinessError } from '@kit.BasicServicesKit'; 60 61try { 62 abilityManager.getAbilityRunningInfos() 63 .then((data: abilityManager.AbilityRunningInfo[]) => { 64 console.log(`getAbilityRunningInfos success, data: ${JSON.stringify(data)}`); 65 }) 66 .catch((error: BusinessError) => { 67 console.error(`getAbilityRunningInfos fail, error code: ${JSON.stringify(error.code)}, error msg: ${JSON.stringify(error.message)}`); 68 }) 69} catch (e) { 70 let code = (e as BusinessError).code; 71 let msg = (e as BusinessError).message; 72 console.error(`getAbilityRunningInfos fail, error code: ${JSON.stringify(code)}, error msg: ${JSON.stringify(msg)}`); 73} 74``` 75 76## abilityManager.restartSelfAtomicService<sup>20+</sup> 77 78restartSelfAtomicService(context: Context): void 79 80重启当前原子化服务。 81 82> **说明:** 83> 84> - 当前仅支持以独立窗口方式拉起原子化服务。 85> 86> - 该接口的两次调用时间间隔不能低于3秒。 87 88**模型约束**:此接口仅可在Stage模型下使用。 89 90**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 91 92**原子化服务API**:从API version 20开始,该接口支持在原子化服务中使用。 93 94**参数**: 95 96| 参数名 | 类型 | 必填 | 说明 | 97| --------- | ---------------------------------------- | ---- | -------------- | 98| context | [Context](./js-apis-inner-application-context.md) | 是 | 当前Ability的上下文。<br>**说明**:当前仅支持[UIAbilityContext](js-apis-inner-application-uiAbilityContext.md)。</br> | 99 100**错误码**: 101 102以下错误码详细介绍请参考[元能力子系统错误码](errorcode-ability.md)。 103 104| 错误码ID | 错误信息 | 105| ------- | -------- | 106| 16000050 | Internal error. Possible causes: 1. Connect to system service failed; 2.Send restart message to system service failed; 3.System service failed to communicate with dependency module.| 107| 16000053 | The ability is not on the top of the UI. | 108| 16000064 | Restart too frequently. Try again at least 3s later. | 109| 16000086 | The context is not UIAbilityContext. | 110| 16000090 | The caller is not an atomic service. | 111 112**示例**: 113 114```ts 115import { AbilityConstant, EmbeddableUIAbility, Want, abilityManager } from '@kit.AbilityKit'; 116import { BusinessError } from '@kit.BasicServicesKit'; 117 118export default class EntryAbility extends EmbeddableUIAbility { 119 onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { 120 try { 121 abilityManager.restartSelfAtomicService(this.context); 122 } catch (e) { 123 console.error(`restartSelfAtomicService error: ${JSON.stringify(e as BusinessError)}`); 124 } 125 } 126} 127``` 128 129## AbilityRunningInfo<sup>14+</sup> 130 131type AbilityRunningInfo = _AbilityRunningInfo 132 133AbilityRunningInfo二级模块。 134 135**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 136 137| 类型 | 说明 | 138| --- | --- | 139| [_AbilityRunningInfo](js-apis-inner-application-abilityRunningInfo.md) | AbilityRunningInfo二级模块,提供对Ability运行的相关信息和状态的定义。 | 140 141## AbilityStateData<sup>14+</sup> 142 143type AbilityStateData = _AbilityStateData.default 144 145AbilityStateData二级模块。 146 147**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 148 149| 类型 | 说明 | 150| --- | --- | 151| [_AbilityStateData.default](js-apis-inner-application-abilityStateData.md) | AbilityStateData二级模块,提供Ability状态信息。 | 152