js-apis-app-ability-abilityManager.md 10.8 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 49 50

**示例**

M
m00512953 已提交
51
```ts
D
donglin 已提交
52
var config = {
53
  language: 'Zh-Hans',
D
donglin 已提交
54 55 56 57 58
  colorMode: COLOR_MODE_LIGHT,
  direction: DIRECTION_VERTICAL,
  screenDensity: SCREEN_DENSITY_SDPI,
  displayId: 1,
  hasPointerDevice: true,
D
donglin 已提交
59 60 61
}

try {
D
donglin 已提交
62 63 64 65 66 67 68
    abilityManager.updateConfiguration(config, (err) => {
        if (err.code != 0) {
            console.log("updateConfiguration fail, err: " + JSON.stringify(err));
        } else {
            console.log("updateConfiguration success.");
        }
    })
D
donglin 已提交
69
} catch (paramError) {
D
donglin 已提交
70 71
    console.log('error.code: ' + JSON.stringify(paramError.code) +
        ' error.message: ' + JSON.stringify(paramError.message));
D
donglin 已提交
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
}
```

## updateConfiguration

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

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

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

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

**参数**

D
fix  
donglin 已提交
87
| 参数名        | 类型                                       | 必填   | 说明             |
D
donglin 已提交
88
| --------- | ---------------------------------------- | ---- | -------------- |
D
donglin 已提交
89
| config    | [Configuration](js-apis-app-ability-configuration.md)   | 是    | 新的配置项,仅需配置需要更新的项。 |
D
donglin 已提交
90 91 92 93 94

**返回值:**

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

**示例**

M
m00512953 已提交
99
```ts
D
donglin 已提交
100
var config = {
101
  language: 'Zh-Hans',
D
donglin 已提交
102 103 104 105 106
  colorMode: COLOR_MODE_LIGHT,
  direction: DIRECTION_VERTICAL,
  screenDensity: SCREEN_DENSITY_SDPI,
  displayId: 1,
  hasPointerDevice: true,
D
donglin 已提交
107 108 109
}

try {
D
donglin 已提交
110 111 112 113 114
    abilityManager.updateConfiguration(config).then(() => {
        console.log('updateConfiguration success.');
    }).catch((err) => {
        console.log('updateConfiguration fail, err: ' + JSON.stringify(err));
    })
D
donglin 已提交
115
} catch (paramError) {
D
donglin 已提交
116 117
    console.log('error.code: ' + JSON.stringify(paramError.code) +
        ' error.message: ' + JSON.stringify(paramError.message));
D
donglin 已提交
118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
}
```

## getAbilityRunningInfos

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

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

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

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

**参数**

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

**示例**

M
m00512953 已提交
139
```ts
D
donglin 已提交
140
try {
D
donglin 已提交
141 142 143 144 145 146 147
    abilityManager.getAbilityRunningInfos((err,data) => {
        if (err.code != 0) {
            console.log("getAbilityRunningInfos fail, error: " + JSON.stringify(err));
        } else {
            console.log("getAbilityRunningInfos success, data: " + JSON.stringify(data));
        }
    });
D
donglin 已提交
148
} catch (paramError) {
D
donglin 已提交
149 150
    console.log('error.code: ' + JSON.stringify(paramError.code) +
        ' error.message: ' + JSON.stringify(paramError.message));
D
donglin 已提交
151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167
}
```

## getAbilityRunningInfos

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

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

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

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

**返回值:**

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

**示例**

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

## getExtensionRunningInfos

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

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

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

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

**参数**

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

**示例**

M
m00512953 已提交
204
```ts
D
donglin 已提交
205 206 207
var upperLimit = 0;

try {
D
donglin 已提交
208 209 210 211 212 213 214
    abilityManager.getExtensionRunningInfos(upperLimit, (err,data) => { 
        if (err.code != 0) {
            console.log("getExtensionRunningInfos fail, err: " + JSON.stringify(err));
        } else {
            console.log("getExtensionRunningInfos success, data: " + JSON.stringify(data));
        }
    });
D
donglin 已提交
215
} catch (paramError) {
D
donglin 已提交
216 217
    console.log('error.code: ' + JSON.stringify(paramError.code) +
        ' error.message: ' + JSON.stringify(paramError.message));
D
donglin 已提交
218 219 220 221 222 223 224 225 226 227 228 229 230 231 232
}
```

## getExtensionRunningInfos

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

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

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

**参数**

D
fix  
donglin 已提交
233
| 参数名        | 类型                                       | 必填   | 说明             |
D
donglin 已提交
234 235 236 237 238 239 240
| --------- | ---------------------------------------- | ---- | -------------- |
| upperLimit | number                                   | 是 | 获取消息数量的最大限制。 |

**返回值:**

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

**示例**

M
m00512953 已提交
245
```ts
D
donglin 已提交
246 247 248
var upperLimit = 0;

try {
D
donglin 已提交
249 250 251 252 253
    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 已提交
254
} catch (paramError) {
D
donglin 已提交
255 256
    console.log('error.code: ' + JSON.stringify(paramError.code) +
        ' error.message: ' + JSON.stringify(paramError.message));
D
donglin 已提交
257 258 259 260 261 262 263 264 265 266 267 268 269
}
```

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

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

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

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

**参数**

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

**示例**

M
m00512953 已提交
276
```ts
D
donglin 已提交
277
abilityManager.getTopAbility((err,data) => { 
D
donglin 已提交
278 279 280 281 282
    if (err.code != 0) {
        console.log("getTopAbility fail, err: " + JSON.stringify(err));
    } else {
        console.log("getTopAbility success, data: " + JSON.stringify(data));
    }
D
donglin 已提交
283
});
D
donglin 已提交
284 285 286 287 288 289 290 291 292 293 294 295 296 297
```

## getTopAbility

getTopAbility(): Promise\<ElementName>;

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

**返回值:**

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

**示例**

M
m00512953 已提交
302
```ts
D
donglin 已提交
303
abilityManager.getTopAbility().then((data) => {
D
donglin 已提交
304
    console.log("getTopAbility success, data: " + JSON.stringify(data));
D
donglin 已提交
305
}).catch((err) => {
D
donglin 已提交
306
    console.log("getTopAbility fail, err: "  + JSON.stringify(err));
D
donglin 已提交
307
})
D
donglin 已提交
308
```