js-apis-app-ability-abilityManager.md 13.4 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 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
60 61
import abilityManager from '@ohos.app.ability.abilityManager';

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

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

## updateConfiguration

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

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

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

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

**参数**

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

**返回值:**

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

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

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

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

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

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

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

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

## getAbilityRunningInfos

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

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

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

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

**参数**

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

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

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

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

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

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

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

## getAbilityRunningInfos

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

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

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

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

**返回值:**

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

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

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

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

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

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

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

## getExtensionRunningInfos

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

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

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

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

**参数**

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

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

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

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

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

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

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

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

## getExtensionRunningInfos

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

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

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

**参数**

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

**返回值:**

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

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

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

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

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

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

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

try {
D
donglin 已提交
309 310 311 312 313
    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 已提交
314
} catch (paramError) {
D
donglin 已提交
315 316
    console.log('error.code: ' + JSON.stringify(paramError.code)
        + ' error.message: ' + JSON.stringify(paramError.message));
D
donglin 已提交
317 318 319 320 321 322 323 324 325 326 327 328 329
}
```

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

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

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

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

**参数**

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

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

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

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

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

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

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

## getTopAbility

getTopAbility(): Promise\<ElementName>;

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

**返回值:**

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

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

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

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

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

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

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