js-apis-accessibility-config.md 13.6 KB
Newer Older
1
# @ohos.accessibility.config (系统辅助功能配置)
2 3 4

本模块提供系统辅助功能的配置,包括辅助扩展的启用与关闭、高对比度文字显示、鼠标键、无障碍字幕配置等。

5 6 7
> **说明:**
>
> - 本模块首批接口从 API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8 9 10 11
> - 本模块接口为系统接口。

## 导入模块

12 13
```ts
import config from '@ohos.accessibility.config';
14 15 16 17 18 19
```

## 属性

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

20
| 名称 | 类型 | 可读 | 可写 | 说明 |
21 22 23 24 25 26 27 28 29 30
| -------- | -------- | -------- | -------- | -------- |
| highContrastText | [Config](#config)\<boolean>| 是 | 是 | 表示高对比度文字功能启用状态。 |
| invertColor | [Config](#config)\<boolean>| 是 | 是 | 表示颜色反转功能启用状态。 |
| daltonizationColorFilter | [Config](#config)&lt;[DaltonizationColorFilter](#daltonizationcolorfilter)&gt;| 是 | 是 | 表示颜色滤镜功能配置。 |
| contentTimeout | [Config](#config)\<number>| 是 | 是 | 表示内容显示建议时长配置。取值 0~5000,单位为毫秒。 |
| animationOff | [Config](#config)\<boolean>| 是 | 是 | 表示关闭动画功能启用状态。 |
| brightnessDiscount | [Config](#config)\<number>| 是 | 是 | 表示亮度折扣系统配置。取值 0~1.0。 |
| mouseKey | [Config](#config)\<boolean>| 是 | 是 | 表示鼠标键功能启用状态。 |
| mouseAutoClick | [Config](#config)\<number>| 是 | 是 | 表示鼠标自动点击功能启用状态。取值 0~5000,单位为毫秒。 |
| shortkey | [Config](#config)\<boolean>| 是 | 是 | 表示辅助扩展快捷键功能启用状态。 |
31
| shortkeyTarget | [Config](#config)\<string>| 是 | 是 | 表示辅助扩展快捷键的目标配置。取值为辅助应用的名称,格式为:'bundleName/abilityName'。 |
32
| captions | [Config](#config)\<boolean>| 是 | 是 | 表示辅助字幕功能启用状态。 |
Z
zaki 已提交
33
| captionsStyle | [Config](#config)\<[accessibility.CaptionsStyle](js-apis-accessibility.md#captionsstyle8)>| 是 | 是 | 表示辅助字幕的配置。 |
34 35 36

## enableAbility

37
enableAbility(name: string, capability: Array&lt;accessibility.Capability&gt;): Promise&lt;void&gt;;
38

39
启用辅助扩展,使用Promise异步回调。
40 41 42 43 44

**系统能力**:SystemCapability.BarrierFree.Accessibility.Core

**参数:**

45
| 参数名 | 类型 | 必填 | 说明 |
46 47
| -------- | -------- | -------- | -------- |
| name | string | 是 | 辅助应用的名称,格式为:'bundleName/abilityName'。 |
Z
zaki 已提交
48
| capability | Array&lt;[accessibility.Capability](js-apis-accessibility.md#capability)&gt; | 是 | 辅助应用的能力属性。 |
49 50 51

**返回值:**

52 53 54 55 56 57 58 59 60 61 62 63
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**错误码:**

以下错误码的详细介绍请参见[无障碍子系统错误码](../errorcodes/errorcode-accessibility.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------- |
| 9300001 | Invalid bundle name or ability name.  |
| 9300002 | Target ability already enabled. |
64 65 66

**示例:**

67
```ts
68
import accessibility from '@ohos.accessibility';
69
let name = 'com.ohos.example/axExtension';
70
let capability : accessibility.Capability[] = ['retrieve'];
71 72 73 74 75 76 77 78 79
try {
    config.enableAbility(name, capability).then(() => {
      console.info('enable ability succeed');
    }).catch((err) => {
      console.error('failed to enable ability, because ' + JSON.stringify(err));
    });
} catch (exception) {
    console.error('failed to enable ability, because ' + JSON.stringify(exception));
};
80
```
81 82 83

## enableAbility

84
enableAbility(name: string, capability: Array&lt;accessibility.Capability&gt;, callback: AsyncCallback&lt;void&gt;): void;
85

86
启用辅助扩展,使用callback异步回调。
87 88 89 90 91

**系统能力**:SystemCapability.BarrierFree.Accessibility.Core

**参数:**

92
| 参数名 | 类型 | 必填 | 说明 |
93 94 95 96 97 98 99 100 101 102 103 104 105
| -------- | -------- | -------- | -------- |
| name | string | 是 | 辅助应用的名称,格式为:'bundleName/abilityName'。 |
| capability | Array&lt;[accessibility.Capability](js-apis-accessibility.md#capability)&gt; | 是 | 辅助应用的能力属性。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |

**错误码:**

以下错误码的详细介绍请参见[无障碍子系统错误码](../errorcodes/errorcode-accessibility.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------- |
| 9300001 | Invalid bundle name or ability name.  |
| 9300002 | Target ability already enabled. |
106 107 108

**示例:**

109
```ts
110
import accessibility from '@ohos.accessibility';
111
let name = 'com.ohos.example/axExtension';
112
let capability : accessibility.Capability[] = ['retrieve'];
113
try {
114
    config.enableAbility(name, capability, (err) => {
115 116 117 118 119 120 121 122 123 124
        if (err) {
            console.error('failed to enable ability, because ' + JSON.stringify(err));
            return;
        }
        console.info('enable ability succeed');
    });
} catch (exception) {
    console.error('failed to enable ability, because ' + JSON.stringify(exception));
};
```
125 126 127 128 129

## disableAbility

disableAbility(name: string): Promise&lt;void&gt;;

130
关闭辅助扩展,使用Promise异步回调。
131 132 133 134 135

**系统能力**:SystemCapability.BarrierFree.Accessibility.Core

**参数:**

136
| 参数名 | 类型 | 必填 | 说明 |
137 138
| -------- | -------- | -------- | -------- |
| name | string | 是 | 辅助应用的名称,格式为:'bundleName/abilityName'。 |
139 140 141

**返回值:**

142 143 144 145 146 147 148 149 150 151 152
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**错误码:**

以下错误码的详细介绍请参见[无障碍子系统错误码](../errorcodes/errorcode-accessibility.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------- |
| 9300001 | Invalid bundle name or ability name.  |
153 154 155

**示例:**

156 157 158
```ts
let name = 'com.ohos.example/axExtension';
try {
159
    config.disableAbility(name).then(() => {
160 161 162 163 164 165 166 167
      console.info('disable ability succeed');
    }).catch((err) => {
      console.error('failed to disable ability, because ' + JSON.stringify(err));
    });
} catch (exception) {
    console.error('failed to disable ability, because ' + JSON.stringify(exception));
};
```
168 169 170 171 172

## disableAbility

disableAbility(name: string, callback: AsyncCallback&lt;void&gt;): void;

173
关闭辅助扩展,使用callback异步回调。
174 175 176 177 178

**系统能力**:SystemCapability.BarrierFree.Accessibility.Core

**参数:**

179
| 参数名 | 类型 | 必填 | 说明 |
180 181 182 183 184 185 186 187 188 189 190
| -------- | -------- | -------- | -------- |
| name | string | 是 | 辅助应用的名称,格式为:'bundleName/abilityName'。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |

**错误码:**

以下错误码的详细介绍请参见[无障碍子系统错误码](../errorcodes/errorcode-accessibility.md)

| 错误码ID | 错误信息 |
| ------- | -------------------------------- |
| 9300001 | Invalid bundle name or ability name.  |
191 192 193

**示例:**

194 195 196 197 198 199 200 201 202 203 204 205 206 207
```ts
let name = 'com.ohos.example/axExtension';
try {
    config.disableAbility(name, (err, data) => {
        if (err) {
            console.error('failed to enable ability, because ' + JSON.stringify(err));
            return;
        }
        console.info('disable succeed');
    });
} catch (exception) {
    console.error('failed to enable ability, because ' + JSON.stringify(exception));
};
```
208

209
## on('enabledAccessibilityExtensionListChange')
210

211
on(type: 'enabledAccessibilityExtensionListChange', callback: Callback&lt;void&gt;): void;
212

213
添加启用的辅助扩展的列表变化监听,使用callback异步回调。
214 215 216 217 218

**系统能力**:SystemCapability.BarrierFree.Accessibility.Core

**参数:**

219
| 参数名 | 类型 | 必填 | 说明 |
220 221 222
| -------- | -------- | -------- | -------- |
| type | string | 是 | 参数固定为enabledAccessibilityExtensionListChange,监听启用的辅助扩展的列表变化。 |
| callback | Callback&lt;void&gt; | 是 | 回调函数,在启用的辅助扩展的列表变化时通过此函数进行通知。 |
223 224 225

**示例:**

226 227 228 229 230 231
```ts
try {
    config.on('enabledAccessibilityExtensionListChange', () => {
        console.info('subscribe enabled accessibility extension list change state success');
    });
} catch (exception) {
232
    console.error('failed to subscribe enabled accessibility extension list change state, because ' +
233 234 235
    JSON.stringify(exception));
};
```
236

237
## off('enabledAccessibilityExtensionListChange')
238

239
off(type: 'enabledAccessibilityExtensionListChange', callback?: Callback&lt;void&gt;): void;
240

241
取消启用的辅助扩展的列表变化监听,使用callback异步回调。
242 243 244 245 246

**系统能力**:SystemCapability.BarrierFree.Accessibility.Core

**参数:**

247
| 参数名 | 类型 | 必填 | 说明 |
248
| -------- | -------- | -------- | -------- |
Z
zaki 已提交
249
| type |  string | 是 | 参数固定为enabledAccessibilityExtensionListChange,监听启用的辅助扩展的列表变化。 |
250
| callback | Callback&lt;void&gt; | 否 | 要取消的监听回调函数。 |
251 252 253

**示例:**

254 255 256
```ts
try {
    config.off('enabledAccessibilityExtensionListChange', () => {
257
        console.info('Unsubscribe enabled accessibility extension list change state success');
258 259
    });
} catch (exception) {
260
    console.error('failed to Unsubscribe enabled accessibility extension list change state, because ' +
261 262 263
    JSON.stringify(exception));
};
```
264 265 266 267 268 269 270 271 272

## Config

用于属性的设置、获取与监听。

### set

set(value: T): Promise&lt;void&gt;;

273
设置属性,使用Promise异步回调。
274 275 276 277 278

**系统能力**:SystemCapability.BarrierFree.Accessibility.Core

**参数:**

279
| 参数名 | 类型 | 必填 | 说明 |
280 281
| -------- | -------- | -------- | -------- |
| value | T | 是 | 设置的属性值。 |
282 283 284

**返回值:**

285 286 287
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
288 289 290

**示例:**

291 292 293 294 295 296 297 298 299 300 301 302
```ts
let value = true;
try {
    config.highContrastText.set(value).then(() => {
        console.info('set highContrastText succeed');
    }).catch((err) => {
        console.error('failed to set highContrastText, because ' + JSON.stringify(err));
    });
} catch (exception) {
    console.error('failed to set config, because ' + JSON.stringify(exception));
};
```
303 304 305 306 307

### set

set(value: T, callback: AsyncCallback&lt;void&gt;): void;

308
设置属性,使用callback异步回调。
309 310 311 312 313

**系统能力**:SystemCapability.BarrierFree.Accessibility.Core

**参数:**

314
| 参数名 | 类型 | 必填 | 说明 |
315 316 317
| -------- | -------- | -------- | -------- |
| value | T | 是 | 设置的属性值。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
318 319 320

**示例:**

321 322 323 324 325 326 327 328 329 330 331 332 333 334
```ts
let value = true;
try {
    config.highContrastText.set(value, (err, data) => {
        if (err) {
            console.error('failed to set highContrastText, because ' + JSON.stringify(err));
            return;
        }
        console.info('set highContrastText succeed');
    });
} catch (exception) {
    console.error('failed to set config, because ' + JSON.stringify(exception));
};
```
335 336 337 338 339

### get

get(): Promise&lt;T&gt;;

340
获取属性,使用Promise异步回调。
341 342 343 344 345

**系统能力**:SystemCapability.BarrierFree.Accessibility.Core

**返回值:**

346 347 348
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;T&gt; | Promise对象,返回对应属性值。 |
349 350 351

**示例:**

352 353 354 355 356 357 358 359 360
```ts
let value;
config.highContrastText.get().then((data) => {
    value = data;
    console.info('get highContrastText success');
}).catch((err) => {
    console.error('failed to get highContrastText, because ' + JSON.stringify(err));
});
```
361 362 363 364 365

### get

get(callback: AsyncCallback&lt;T&gt;): void;

366
获取属性,使用callback异步回调。
367 368 369 370 371

**系统能力**:SystemCapability.BarrierFree.Accessibility.Core

**参数:**

372
| 参数名 | 类型 | 必填 | 说明 |
373
| -------- | -------- | -------- | -------- |
Z
zaki 已提交
374
| callback | AsyncCallback&lt;T&gt; | 是 | 回调函数,返回属性值。 |
375 376 377

**示例:**

378 379 380 381 382 383 384 385 386 387 388
```ts
let value;
config.highContrastText.get((err, data) => {
    if (err) {
        console.error('failed to get highContrastText, because ' + JSON.stringify(err));
        return;
    }
    value = data;
    console.info('get highContrastText success');
});
```
389 390 391 392 393

### on

on(callback: Callback&lt;T&gt;): void;

394
添加属性变化监听,使用callback异步回调。
395 396 397 398 399

**系统能力**:SystemCapability.BarrierFree.Accessibility.Core

**参数:**

400
| 参数名 | 类型 | 必填 | 说明 |
401 402
| -------- | -------- | -------- | -------- |
| callback | Callback&lt;T&gt; | 是 | 回调函数,在属性变化时通过此函数进行通知。 |
403 404 405

**示例:**

406 407
```ts
try {
408 409
    config.highContrastText.on((data) => {
        console.info('subscribe highContrastText success, result: ' + JSON.stringify(data));
410 411 412 413 414
    });
} catch (exception) {
    console.error('failed subscribe highContrastText, because ' + JSON.stringify(exception));
}
```
415 416 417 418 419

### off

off(callback?: Callback&lt;T&gt;): void;

420
取消属性变化监听,使用callback异步回调。
421 422 423 424 425

**系统能力**:SystemCapability.BarrierFree.Accessibility.Core

**参数:**

426
| 参数名 | 类型 | 必填 | 说明 |
427 428
| -------- | -------- | -------- | -------- |
| callback | Callback&lt;T&gt; | 否 | 要取消的监听回调函数。 |
429 430 431

**示例:**

432
```ts
433 434
config.highContrastText.off((data) => {
    console.info('Unsubscribe highContrastText success, result: ' + JSON.stringify(data));
435 436
});
```
437 438 439 440 441 442 443

## DaltonizationColorFilter

用于不同弱视类型的校正颜色滤镜。

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

D
donglin 已提交
444
| 名称 | 说明 |
445 446 447 448 449
| -------- | -------- |
| Normal | 表示正常类型。 |
| Protanomaly | 表示红色弱视类型。 |
| Deuteranomaly | 表示绿色弱视类型。 |
| Tritanomaly  | 表示蓝色弱视类型。 |