• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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