1# @ohos.accessibility (辅助功能) 2 3本模块提供辅助功能查询能力,包括获取辅助应用列表、辅助应用启用状态、无障碍字幕配置等。 4 5> **说明:** 6> 7> - 本模块首批接口从 API version 7 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9## 导入模块 10 11```ts 12import { accessibility } from '@kit.AccessibilityKit'; 13``` 14 15## AbilityState 16 17type AbilityState = 'enable' | 'disable' | 'install' 18 19辅助应用状态类型。 20 21**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core 22 23| 类型 | 说明 | 24| ------- | -------- | 25| 'enable' | 表示辅助应用已启用。 | 26| 'disable' | 辅助应用已禁用。 | 27| 'install' | 辅助应用已安装。 | 28 29## AbilityType 30 31无障碍辅助应用类型。 32 33**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core 34 35| 名称 | 描述 | 36| ---------------- | --------- | 37| audible | 表示具有听觉反馈。 | 38| generic | 表示具有通用反馈。 | 39| haptic | 表示具有触觉反馈。 | 40| spoken | 表示具有语音反馈。 | 41| visual | 表示具有视觉反馈。 | 42| all<sup>9+</sup> | 表示以上所有类别。 | 43 44## AccessibilityAbilityInfo 45 46辅助应用信息。 47 48**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core 49 50### 属性 51 52| 名称 | 类型 | 可读 | 可写 | 说明 | 53| ------------------------------ | ---------------------------------------- | ---- | ---- | ---------------- | 54| id | string | 是 | 否 | ability id。 | 55| name | string | 是 | 否 | ability 名。 | 56| bundleName | string | 是 | 否 | Bundle名称。 | 57| targetBundleNames<sup>9+</sup> | Array<string> | 是 | 否 | 关注的目标Bundle名称。 | 58| abilityTypes | Array<[AbilityType](#abilitytype)> | 是 | 否 | 辅助应用类型。 | 59| capabilities | Array<[Capability](#capability)> | 是 | 否 | 辅助应用能力列表。 | 60| description | string | 是 | 否 | 辅助应用描述。 | 61| eventTypes | Array<[EventType](#eventtype)> | 是 | 否 | 辅助应用关注的无障碍事件列表。 | 62| needHide<sup>12+</sup> | boolean | 是 | 否 | 辅助应用是否在已安装的扩展服务列表中被隐藏,true表示隐藏服务,false表示显示服务。 | 63| label<sup>12+</sup> | string | 是 | 否 | 扩展应用在扩展服务列表中的名称。 | 64 65## Action 66 67type Action = 'accessibilityFocus' | 'clearAccessibilityFocus' | 'focus' | 'clearFocus' | 'clearSelection' | 68 'click' | 'longClick' | 'cut' | 'copy' | 'paste' | 'select' | 'setText' | 'delete' | 69 'scrollForward' | 'scrollBackward' | 'setSelection' | 'setCursorPosition' | 'home' | 70 'back' | 'recentTask' | 'notificationCenter' | 'controlCenter' | 'common' 71 72应用所支持的目标动作,需要配置参数的目标动作已在描述中标明。 73 74**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core 75 76| 类型 | 说明 | 77| ----------------------- |--------------------| 78| 'click' | 表示点击操作。 | 79| 'longClick' | 表示长按操作。 | 80| 'scrollForward' | 表示向前滚动操作。 | 81| 'scrollBackward' | 表示向后滚动操作。 | 82| 'focus' | 表示获得焦点操作。 | 83| 'clearFocus' | 表示清除焦点操作。 | 84| 'clearSelection' | 表示清除选择操作。当前版本暂不支持。 | 85| 'accessibilityFocus' | 表示获得无障碍焦点操作。 | 86| 'clearAccessibilityFocus' | 表示清除无障碍焦点操作。 | 87| 'cut' | 表示剪切操作。 | 88| 'copy' | 表示复制操作。 | 89| 'paste' | 表示粘贴操作。 | 90| 'select' | 表示选择操作。 | 91| 'setCursorPosition' | 表示设置文本操作,需配置参数setText。 | 92| 'delete' | 表示删除操作。当前版本暂不支持。 | 93| 'setSelection' | 表示选择操作,需配置参数selectTextBegin、selectTextEnd、selectTextInForWard。 | 94| 'common' | 表示没有特定操作,用于主动聚焦、主动播报等场景。 | 95| 'home' | 表示返回桌面操作。 | 96| 'back' | 表示返回上一级操作。 | 97| 'recentTask' | 表示打开最近任务操作。 | 98| 'notificationCenter' | 表示打开通知栏操作。 | 99| 'controlCenter' | 表示打开控制中心操作。 | 100| 'setCursorPosition' | 表示设置光标位置操作,需配置参数offset。 | 101 102## Capability 103 104type Capability = 'retrieve' | 'touchGuide' | 'keyEventObserver' | 'zoom' | 'gesture' 105 106辅助应用能力类型。 107 108**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core 109 110| 类型 | 说明 | 111| ---------------- |-----------------------| 112| 'retrieve' | 具有检索窗口内容的能力。 | 113| 'touchGuide' | 具有触摸探索模式的能力。 | 114| 'keyEventObserver' | 具有过滤按键事件的能力。 | 115| 'zoom' | 具有控制显示放大的能力,当前版本暂不支持。 | 116| 'gesture' | 具有执行手势动作的能力。 | 117 118## CaptionsFontEdgeType<sup>8+</sup> 119 120type CaptionsFontEdgeType = 'none' | 'raised' | 'depressed' | 'uniform' | 'dropShadow' 121 122字幕字体边缘类型。 123 124**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Hearing 125 126| 类型 | 说明 | 127| ---------- | ----- | 128| 'none' | 表示无效果。 | 129| 'raised' | 表示凸起效果。 | 130| 'depressed' | 表示凹陷效果。 | 131| 'uniform' | 表示轮廓效果。 | 132| 'dropShadow' | 表示阴影效果。 | 133 134## CaptionsFontFamily<sup>8+</sup> 135 136type CaptionsFontFamily = 'default' | 'monospacedSerif' | 'serif' | 'monospacedSansSerif' | 137 'sansSerif' | 'casual' | 'cursive' | 'smallCapitals' 138 139字幕字体。 140 141**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Hearing 142 143| 名称 | 描述 | 144| ------------------- | ----------------- | 145| 'default' | 表示默认字体。 | 146| 'monospacedSerif' | 表示等宽 Serif 字体。 | 147| 'serif' | 表示Serif 字体。 | 148| 'monospacedSansSerif' | 表示等宽 Sans Serif 字体。 | 149| 'sansSerif' | 表示Sans Serif 字体。 | 150| 'casual' | 表示非正式字体。 | 151| 'cursive' | 表示手写字体。 | 152| 'smallCapitals' | 表示小型大写字母字体。 | 153 154## CaptionsStyle<sup>8+</sup> 155 156字幕风格。 157 158**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Hearing 159 160| 名称 | 类型 | 可读 | 可写 | 说明 | 161| --------------- | ---------------------------------------- | ---- | ---- | ----------- | 162| fontFamily | [CaptionsFontFamily](#captionsfontfamily8) | 是 | 否 | 描述字幕字体。 | 163| fontScale | number | 是 | 否 | 描述字幕字体缩放系数,单位%,参数范围1~200。 | 164| fontColor | number \| string | 是 | 否 | 描述字幕字体颜色,例如red对应#FF0000。 | 165| fontEdgeType | [CaptionsFontEdgeType](#captionsfontedgetype8) | 是 | 否 | 描述字幕字体边缘。 | 166| backgroundColor | number \| string | 是 | 否 | 描述字幕背景颜色,例如red对应#FF0000。 | 167| windowColor | number \| string | 是 | 否 | 描述字幕窗口颜色,例如red对应#FF0000。 | 168 169## CaptionsManager<sup>8+</sup> 170 171字幕配置管理,在调用CaptionsManager的方法前,需要先通过 [accessibility.getCaptionsManager() ](#accessibilitygetcaptionsmanagerdeprecated)获取 CaptionsManager实例。 172 173**系统能力**:以下各项对应的系统能力均为SystemCapability.BarrierFree.Accessibility.Hearing 174 175### 属性 176 177| 名称 | 类型 | 可读 | 可写 | 说明 | 178| ------- | -------------------------------- | ---- | ---- | ----------- | 179| enabled | boolean | 是 | 否 | 表示是否启用字幕配置。 | 180| style | [CaptionsStyle](#captionsstyle8) | 是 | 否 | 表示字幕风格。 | 181 182boolean返回值的含义:True表示开启,False表示关闭。 183 184### on('enableChange')<sup>(deprecated)</sup> 185 186on(type: 'enableChange', callback: Callback<boolean>): void; 187 188监听字幕配置启用状态变化事件,使用callback异步回调。 189 190> **说明:** 191> 192> 从API version 12开始废弃。 193 194**系统能力**:SystemCapability.BarrierFree.Accessibility.Hearing 195 196**参数:** 197 198| 参数名 | 类型 | 必填 | 说明 | 199| -------- | ----------------------- | ---- | --------------------------------------- | 200| type | string | 是 | 监听的事件名,固定为‘enableChange’,即字幕配置启用状态变化事件。 | 201| callback | Callback<boolean> | 是 | 回调函数,在启用状态变化时将状态通过此函数进行通知。 | 202 203**错误码:** 204 205以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 206 207| 错误码ID | 错误信息 | 208| ------- | -------------------------------- | 209| 401 |Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 210 211**示例:** 212 213```ts 214import { accessibility } from '@kit.AccessibilityKit'; 215 216let captionsManager = accessibility.getCaptionsManager(); 217captionsManager.on('enableChange', (data: boolean) => { 218 console.info(`subscribe caption manager enable state change, result: ${JSON.stringify(data)}`); 219}) 220``` 221 222### on('styleChange')<sup>(deprecated)</sup> 223 224on(type: 'styleChange', callback: Callback<CaptionsStyle>): void; 225 226监听字幕风格变化事件,使用callback异步回调。 227 228> **说明:** 229> 230> 从API version 12开始废弃。 231 232**系统能力**:SystemCapability.BarrierFree.Accessibility.Hearing 233 234**参数:** 235 236| 参数名 | 类型 | 必填 | 说明 | 237| -------- | ---------------------------------------- | ---- | ---------------------------------- | 238| type | string | 是 | 监听的事件名,固定为‘styleChange’,即字幕风格变化事件。 | 239| callback | Callback<[CaptionsStyle](#captionsstyle8)> | 是 | 回调函数,在字幕风格变化时通过此函数进行通知。 | 240 241**错误码:** 242 243以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 244 245| 错误码ID | 错误信息 | 246| ------- | -------------------------------- | 247| 401 |Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 248 249**示例:** 250 251```ts 252import { accessibility } from '@kit.AccessibilityKit'; 253 254let captionsManager = accessibility.getCaptionsManager(); 255 256captionsManager.on('styleChange', (data: accessibility.CaptionsStyle) => { 257 console.info(`subscribe caption manager style state change, result: ${JSON.stringify(data)}`); 258}); 259``` 260 261### off('enableChange')<sup>(deprecated)</sup> 262 263off(type: 'enableChange', callback?: Callback<boolean>): void; 264 265取消监听字幕配置启用状态变化事件,使用callback异步回调。 266 267> **说明:** 268> 269> 从API version 12开始废弃。 270 271**系统能力**:SystemCapability.BarrierFree.Accessibility.Hearing 272 273**参数:** 274 275| 参数名 | 类型 | 必填 | 说明 | 276| -------- | ----------------------- | ---- | ------------------------------------------------------------ | 277| type | string | 是 | 取消监听的事件名,固定为‘enableChange’,即字幕配置启用状态变化事件。 | 278| callback | Callback<boolean> | 否 | 回调函数,取消指定callback对象的事件响应。需与on('enableChange')的callback一致。缺省时,表示注销所有已注册事件。 | 279 280**错误码:** 281 282以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 283 284| 错误码ID | 错误信息 | 285| ------- | -------------------------------- | 286| 401 |Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 287 288**示例:** 289 290```ts 291import { accessibility } from '@kit.AccessibilityKit'; 292 293let captionsManager = accessibility.getCaptionsManager(); 294 295captionsManager.off('enableChange', (data: boolean) => { 296 console.info(`Unsubscribe caption manager enable state change, result: ${JSON.stringify(data)}`); 297}); 298``` 299 300### off('styleChange')<sup>(deprecated)</sup> 301 302off(type: 'styleChange', callback?: Callback<CaptionsStyle>): void; 303 304取消字幕风格变化监听事件,使用callback异步回调。 305 306> **说明:** 307> 308> 从API version 12开始废弃。 309 310**系统能力**:SystemCapability.BarrierFree.Accessibility.Hearing 311 312**参数:** 313 314| 参数名 | 类型 | 必填 | 说明 | 315| -------- | ------------------------------------------------ | ---- | ------------------------------------------------------------ | 316| type | string | 是 | 取消监听的事件名,固定为‘styleChange’,即字幕风格变化事件。 | 317| callback | Callback<[CaptionsStyle](#captionsstyle8)> | 否 | 回调函数,取消指定callback对象的事件响应。需与on('styleChange')的callback一致。缺省时,表示注销所有已注册事件。 | 318 319**错误码:** 320 321以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 322 323| 错误码ID | 错误信息 | 324| ------- | -------------------------------- | 325| 401 |Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 326 327**示例:** 328 329```ts 330import { accessibility } from '@kit.AccessibilityKit'; 331 332let captionsManager = accessibility.getCaptionsManager(); 333 334captionsManager.off('styleChange', (data: accessibility.CaptionsStyle) => { 335 console.info(`Unsubscribe caption manager style state change, result: ${JSON.stringify(data)}`); 336}); 337``` 338 339## EventInfo 340 341界面变更事件。 342 343**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core 344 345### 属性 346 347| 名称 | 类型 | 必填 | 说明 | 348| ---------------- | ------------------------------------- |-----|-----------------------| 349| type | [EventType](#eventtype) | 是 | 无障碍事件类型;不可缺省。 | 350| windowUpdateType | [WindowUpdateType](#windowupdatetype) | 否 | 窗口变化类型。 | 351| bundleName | string | 是 | 目标应用名;不可缺省。 | 352| componentType | string | 否 | 事件源组件类型,如按钮、图表。 | 353| pageId | number | 否 | 事件源的页面 ID。 | 354| description | string | 否 | 事件描述。 | 355| triggerAction | [Action](#action) | 是 | 触发事件的 Action;不可缺省。 | 356| textMoveUnit | [TextMoveUnit](#textmoveunit) | 否 | 文本移动粒度。 | 357| contents | Array<string> | 否 | 内容列表。 | 358| lastContent | string | 否 | 最新内容。 | 359| beginIndex | number | 否 | 画面显示条目的开始序号。 | 360| currentIndex | number | 否 | 当前条目序号。 | 361| endIndex | number | 否 | 画面显示条目的结束序号。 | 362| itemCount | number | 否 | 条目总数。 | 363| elementId<sup>12+</sup> | number | 否 | 组件elementId。 | 364| textAnnouncedForAccessibility<sup>12+</sup> | string | 否 | 主动播报的内容。 | 365| customId<sup>12+</sup> | string | 否 | 主动聚焦的组件ID。 | 366 367### constructor 368 369constructor(jsonObject) 370 371构造函数。 372 373**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 374 375**参数:** 376 377| 参数名 | 类型 | 必填 | 说明 | 378| ---------- | ------ | ---- | -------------------- | 379| jsonObject | string | 是 | 创建对象所需要的 JSON 格式字符串。 | 380 381**示例:** 382 383 ```ts 384 import { accessibility } from '@kit.AccessibilityKit'; 385 386 let eventInfo: accessibility.EventInfo = ({ 387 type: 'click', 388 bundleName: 'com.example.MyApplication', 389 triggerAction: 'click', 390 }); 391 ``` 392 393### constructor<sup>11+</sup> 394 395constructor(type: EventType, bundleName: string, triggerAction: Action) 396 397构造函数。 398 399**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 400 401**参数:** 402 403| 参数名 | 类型 | 必填 | 说明 | 404|------|-------------------|---|---------------| 405| type | [EventType](#eventtype) | 是 | 无障碍事件类型。 | 406| bundleName | string | 是 | 目标应用名。 | 407| triggerAction | [Action](#action) | 是 | 触发事件的 Action。 | 408 409**示例:** 410 411 ```ts 412 import { accessibility } from '@kit.AccessibilityKit'; 413 414 let eventInfo = new accessibility.EventInfo('click', 'com.example.MyApplication', 'click'); 415 ``` 416 417## EventType 418 419type EventType = 'accessibilityFocus' | 'accessibilityFocusClear' | 420'click' | 'longClick' | 'focus' | 'select' | 'hoverEnter' | 'hoverExit' | 421'textUpdate' | 'textSelectionUpdate' | 'scroll' | 'requestFocusForAccessibility' | 422'announceForAccessibility' 423 424无障碍事件类型。 425 426**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core 427 428| 类型 | 说明 | 429| ----------------------- |------------------------| 430| 'accessibilityFocus' | 表示获得无障碍焦点的事件。 | 431| 'accessibilityFocusClear' | 表示清除无障碍焦点的事件。 | 432| 'click' | 表示点击组件的事件。 | 433| 'longClick' | 表示长按组件的事件。 | 434| 'select' | 表示选择组件的事件。 | 435| 'hoverEnter' | 表示悬停进入组件的事件。 | 436| 'hoverExit' | 表示悬停离开组件的事件。 | 437| 'focus' | 表示组件获得焦点的事件,当前版本暂不支持。 | 438| 'textUpdate' | 表示组件文本已更改的事件。 | 439| 'textSelectionUpdate' | 表示选定文本已更改的事件,当前版本暂不支持。 | 440| 'scroll' | 表示滚动视图的事件。 | 441| 'requestFocusForAccessibility' | 表示主动聚焦的事件。 | 442| 'announceForAccessibility' | 表示主动播报的事件。 | 443 444 445## TextMoveUnit 446 447type TextMoveUnit = 'char' | 'word' | 'line' | 'page' | 'paragraph' 448 449文本无障碍导航移动粒度。 450 451**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core 452 453| 类型 | 说明 | 454| --------- | --------------- | 455| 'char' | 表示以字符为移动粒度遍历节点文本。 | 456| 'word' | 表示以词为移动粒度遍历节点文本。 | 457| 'line' | 表示以行为移动粒度遍历节点文本。 | 458| 'page' | 表示以页为移动粒度遍历节点文本。 | 459| 'paragraph' | 表示以段落为移动粒度遍历节点文本。 | 460 461## WindowUpdateType 462 463type WindowUpdateType = 'add' | 'remove' | 'bounds' | 'active' | 'focus' 464 465窗口变化类型。 466 467**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core 468 469| 类型 | 说明 | 470| ------ | ------------------ | 471| 'add' | 表示添加窗口的窗口变化事件,值固定为'add'字符串。 | 472| 'remove' | 表示一个窗口被删除的窗口变化事件,值固定为'remove'字符串。 | 473| 'bounds' | 表示窗口边界已更改的窗口变化事件,值固定为'bounds'字符串。 | 474| 'active' | 表示窗口变为活动或不活动的窗口变化事件,值固定为'active'字符串。 | 475| 'focus' | 表示窗口焦点发生变化的窗口变化事件,值固定为'focus'字符串。 | 476 477## accessibility.getAbilityLists<sup>(deprecated)</sup> 478 479getAbilityLists(abilityType: AbilityType, stateType: AbilityState): Promise<Array<AccessibilityAbilityInfo>> 480 481查询辅助应用列表,使用Promise异步回调。 482 483> **说明:** 484> 485> 从API version 7开始支持,从API version 9开始废弃。 486> 推荐使用[accessibility.getAccessibilityExtensionList()](#accessibilitygetaccessibilityextensionlist9)。 487 488**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 489 490**参数:** 491 492| 参数名 | 类型 | 必填 | 说明 | 493| ----------- | ----------------------------- | ---- | -------- | 494| abilityType | [AbilityType](#abilitytype) | 是 | 辅助应用的类型。 | 495| stateType | [AbilityState](#abilitystate) | 是 | 辅助应用的状态。 | 496 497**返回值:** 498 499| 类型 | 说明 | 500| ---------------------------------------- | --------------------- | 501| Promise<Array<[AccessibilityAbilityInfo](#accessibilityabilityinfo)>> | Promise对象,返回辅助应用信息列表。 | 502 503**示例:** 504 505```ts 506import { accessibility } from '@kit.AccessibilityKit'; 507import { BusinessError } from '@kit.BasicServicesKit'; 508 509let abilityType: accessibility.AbilityType = 'spoken'; 510let abilityState: accessibility.AbilityState = 'enable'; 511 512accessibility.getAbilityLists(abilityType, abilityState).then((data: accessibility.AccessibilityAbilityInfo[]) => { 513 console.info(`Succeeded in get accessibility extension list, ${JSON.stringify(data)}`); 514}).catch((err: BusinessError) => { 515 console.error(`failed to get accessibility extension list because ${JSON.stringify(err)}`); 516}); 517``` 518 519## accessibility.getAbilityLists<sup>(deprecated)</sup> 520 521getAbilityLists(abilityType: AbilityType, stateType: AbilityState,callback: AsyncCallback<Array<AccessibilityAbilityInfo>>): void 522 523查询辅助应用列表,使用callback异步回调。 524 525> **说明:** 526> 527> 从API version 7开始支持,从API version 9开始废弃。 528> 推荐使用[accessibility.getAccessibilityExtensionList()](#accessibilitygetaccessibilityextensionlist9-1)。 529 530**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 531 532**参数:** 533 534| 参数名 | 类型 | 必填 | 说明 | 535| ----------- | ---------------------------------------- | ---- | ---------------- | 536| abilityType | [AbilityType](#abilitytype) | 是 | 辅助应用的类型。 | 537| stateType | [AbilityState](#abilitystate) | 是 | 辅助应用的状态。 | 538| callback | AsyncCallback<Array<[AccessibilityAbilityInfo](#accessibilityabilityinfo)>> | 是 | 回调函数,返回辅助应用信息列表。 | 539 540**示例:** 541 542```ts 543import { accessibility } from '@kit.AccessibilityKit'; 544import { BusinessError } from '@kit.BasicServicesKit'; 545 546let abilityType: accessibility.AbilityType = 'spoken'; 547let abilityState: accessibility.AbilityState = 'enable'; 548 549accessibility.getAbilityLists(abilityType, abilityState, (err: BusinessError, data: accessibility.AccessibilityAbilityInfo[]) => { 550 if (err) { 551 console.error(`failed to get accessibility extension list because ${JSON.stringify(err)}`); 552 return; 553 } 554 console.info(`Succeeded in get accessibility extension list, ${JSON.stringify(data)}`); 555}) 556``` 557 558## accessibility.getAccessibilityExtensionList<sup>9+</sup> 559 560getAccessibilityExtensionList(abilityType: AbilityType, stateType: AbilityState): Promise<Array<AccessibilityAbilityInfo>> 561 562查询辅助应用列表,使用Promise异步回调。 563 564**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 565 566**参数:** 567 568| 参数名 | 类型 | 必填 | 说明 | 569| ----------- | ----------------------------- | ---- | -------- | 570| abilityType | [AbilityType](#abilitytype) | 是 | 辅助应用的类型。 | 571| stateType | [AbilityState](#abilitystate) | 是 | 辅助应用的状态。 | 572 573**返回值:** 574 575| 类型 | 说明 | 576| ---------------------------------------- | --------------------- | 577| Promise<Array<[AccessibilityAbilityInfo](#accessibilityabilityinfo)>> | Promise对象,返回辅助应用信息列表。 | 578 579**错误码:** 580 581以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 582 583| 错误码ID | 错误信息 | 584| ------- | -------------------------------- | 585| 401 |Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 586 587**示例:** 588 589```ts 590import { accessibility } from '@kit.AccessibilityKit'; 591import { BusinessError } from '@kit.BasicServicesKit'; 592 593let abilityType: accessibility.AbilityType = 'spoken'; 594let abilityState: accessibility.AbilityState = 'enable'; 595 596accessibility.getAccessibilityExtensionList(abilityType, abilityState).then((data: accessibility.AccessibilityAbilityInfo[]) => { 597 console.info(`Succeeded in get accessibility extension list, ${JSON.stringify(data)}`); 598}).catch((err: BusinessError) => { 599 console.error(`failed to get accessibility extension list, Code is ${err.code}, message is ${err.message}`); 600}); 601``` 602 603## accessibility.getAccessibilityExtensionList<sup>9+</sup> 604 605getAccessibilityExtensionList(abilityType: AbilityType, stateType: AbilityState, callback: AsyncCallback<Array<AccessibilityAbilityInfo>>): void 606 607查询辅助应用列表,使用callback异步回调。 608 609**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 610 611**参数:** 612 613| 参数名 | 类型 | 必填 | 说明 | 614| ----------- | ---------------------------------------- | ---- | ---------------- | 615| abilityType | [AbilityType](#abilitytype) | 是 | 辅助应用的类型。 | 616| stateType | [AbilityState](#abilitystate) | 是 | 辅助应用的状态。 | 617| callback | AsyncCallback<Array<[AccessibilityAbilityInfo](#accessibilityabilityinfo)>> | 是 | 回调函数,返回辅助应用信息列表。 | 618 619**错误码:** 620 621以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 622 623| 错误码ID | 错误信息 | 624| ------- | -------------------------------- | 625| 401 |Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 626 627**示例:** 628 629```ts 630import { accessibility } from '@kit.AccessibilityKit'; 631import { BusinessError } from '@kit.BasicServicesKit'; 632 633let abilityType: accessibility.AbilityType = 'spoken'; 634let abilityState: accessibility.AbilityState = 'enable'; 635 636accessibility.getAccessibilityExtensionList(abilityType, abilityState,(err: BusinessError, data: accessibility.AccessibilityAbilityInfo[]) => { 637 if (err) { 638 console.error(`failed to get accessibility extension list, Code is ${err.code}, message is ${err.message}`); 639 return; 640 } 641 console.info(`Succeeded in get accessibility extension list, ${JSON.stringify(data)}`); 642}); 643``` 644 645## accessibility.getAccessibilityExtensionListSync<sup>12+</sup> 646 647getAccessibilityExtensionListSync(abilityType: AbilityType, stateType: AbilityState): Array<AccessibilityAbilityInfo> 648 649查询辅助应用列表同步接口。 650 651**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 652 653**参数:** 654 655| 参数名 | 类型 | 必填 | 说明 | 656| ----------- | ----------------------------- | ---- | -------- | 657| abilityType | [AbilityType](#abilitytype) | 是 | 辅助应用的类型。 | 658| stateType | [AbilityState](#abilitystate) | 是 | 辅助应用的状态。 | 659 660**返回值:** 661 662| 类型 | 说明 | 663| ---------------------------------------- | --------------------- | 664| Array<[AccessibilityAbilityInfo](#accessibilityabilityinfo)> | 返回辅助应用信息列表。 | 665 666**示例:** 667 668```ts 669import { accessibility } from '@kit.AccessibilityKit'; 670import { BusinessError } from '@kit.BasicServicesKit'; 671 672let abilityType: accessibility.AbilityType = 'all'; 673let abilityState: accessibility.AbilityState = 'install'; 674let data: accessibility.AccessibilityAbilityInfo[]; 675 676try { 677 data = accessibility.getAccessibilityExtensionListSync(abilityType, abilityState); 678 console.info(`Succeeded in get accessibility extension list, ${JSON.stringify(data)}`); 679} catch (error) { 680 let err = error as BusinessError; 681 console.error(`error code: ${err.code}`); 682} 683``` 684 685## accessibility.getCaptionsManager<sup>(deprecated)</sup> 686 687getCaptionsManager(): CaptionsManager 688 689获取无障碍字幕配置管理实例。 690 691> **说明:** 692> 693> 从API version 12开始废弃。 694 695**系统能力**:SystemCapability.BarrierFree.Accessibility.Hearing 696 697**返回值:** 698 699| 类型 | 说明 | 700| ------------------------------------ | ---------- | 701| [CaptionsManager](#captionsmanager8) | 无障碍字幕配置管理。 | 702 703**示例:** 704 705```ts 706import { accessibility } from '@kit.AccessibilityKit'; 707 708let captionsManager = accessibility.getCaptionsManager(); 709``` 710 711## accessibility.on('accessibilityStateChange') 712 713on(type: 'accessibilityStateChange', callback: Callback<boolean>): void 714 715监听辅助应用启用状态变化事件,使用callback异步回调。 716 717**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 718 719**参数:** 720 721| 参数名 | 类型 | 必填 | 说明 | 722| -------- | ----------------------- | ---- | ------------------------------------------------------------ | 723| type | string | 是 | 监听的事件名,固定为‘accessibilityStateChange’,即辅助应用启用状态变化事件。 | 724| callback | Callback<boolean> | 是 | 回调函数,在辅助应用启用状态变化时将状态通过此函数进行通知。此状态为全局辅助应用启用状态。 | 725 726**错误码:** 727 728以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 729 730| 错误码ID | 错误信息 | 731| ------- | -------------------------------- | 732| 401 |Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 733 734**示例:** 735 736```ts 737import { accessibility } from '@kit.AccessibilityKit'; 738 739accessibility.on('accessibilityStateChange', (data: boolean) => { 740 console.info(`subscribe accessibility state change, result: ${JSON.stringify(data)}`); 741}); 742``` 743 744## accessibility.on('touchGuideStateChange') 745 746on(type: 'touchGuideStateChange', callback: Callback<boolean>): void 747 748监听触摸浏览功能启用状态变化事件,使用callback异步回调。 749 750**系统能力**:SystemCapability.BarrierFree.Accessibility.Vision 751 752**参数:** 753 754| 参数名 | 类型 | 必填 | 说明 | 755| -------- | ----------------------- | ---- | ---------------------------------------- | 756| type | string | 是 | 监听的事件名,固定为‘touchGuideStateChange’,即触摸浏览启用状态变化事件。 | 757| callback | Callback<boolean> | 是 | 回调函数,在触摸浏览启用状态变化时将状态通过此函数进行通知。 | 758 759**错误码:** 760 761以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 762 763| 错误码ID | 错误信息 | 764| ------- | -------------------------------- | 765| 401 |Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 766 767**示例:** 768 769```ts 770import { accessibility } from '@kit.AccessibilityKit'; 771 772accessibility.on('touchGuideStateChange', (data: boolean) => { 773 console.info(`subscribe touch guide state change, result: ${JSON.stringify(data)}`); 774}); 775``` 776 777## accessibility.off('accessibilityStateChange') 778 779off(type: 'accessibilityStateChange', callback?: Callback<boolean>): void 780 781取消监听辅助应用启用状态变化事件,使用callback异步回调。 782 783**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 784 785**参数:** 786 787| 参数名 | 类型 | 必填 | 说明 | 788| -------- | ----------------------- | ---- | ------------------------------------------------------------ | 789| type | string | 是 | 取消监听的事件名,固定为‘accessibilityStateChange’,即辅助应用启用状态变化事件。 | 790| callback | Callback<boolean> | 否 | 回调函数,取消指定callback对象的事件响应。需与accessibility.on('accessibilityStateChange')的callback一致。缺省时,表示注销所有已注册事件。 | 791 792**错误码:** 793 794以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 795 796| 错误码ID | 错误信息 | 797| ------- | -------------------------------- | 798| 401 |Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 799 800**示例:** 801 802```ts 803import { accessibility } from '@kit.AccessibilityKit'; 804 805accessibility.off('accessibilityStateChange', (data: boolean) => { 806 console.info(`Unsubscribe accessibility state change, result: ${JSON.stringify(data)}`); 807}); 808``` 809 810## accessibility.off('touchGuideStateChange') 811 812off(type: 'touchGuideStateChange', callback?: Callback<boolean>): void 813 814取消监听触摸浏览启用状态变化事件,使用callback异步回调。 815 816**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 817 818**参数:** 819 820| 参数名 | 类型 | 必填 | 说明 | 821| -------- | ----------------------- | ---- | ------------------------------------------------------------ | 822| type | string | 是 | 取消监听的事件名,固定为‘touchGuideStateChange’,即触摸浏览启用状态变化事件。 | 823| callback | Callback<boolean> | 否 | 回调函数,取消指定callback对象的事件响应。需与accessibility.on('touchGuideStateChange')的callback一致。缺省时,表示注销所有已注册事件。 | 824 825**错误码:** 826 827以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 828 829| 错误码ID | 错误信息 | 830| ------- | -------------------------------- | 831| 401 |Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 832 833**示例:** 834 835```ts 836import { accessibility } from '@kit.AccessibilityKit'; 837 838accessibility.off('touchGuideStateChange', (data: boolean) => { 839 console.info(`Unsubscribe touch guide state change, result: ${JSON.stringify(data)}`); 840}); 841``` 842 843## accessibility.isOpenAccessibility<sup>(deprecated)</sup> 844 845isOpenAccessibility(): Promise<boolean> 846 847判断是否启用了辅助功能, 使用Promise异步回调。 848 849> **说明:** 850> 851> 从API version 10开始废弃。 852> 853> 推荐使用[accessibility.isOpenAccessibilitySync](#accessibilityisopenaccessibilitysync10)。 854 855**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 856 857**返回值:** 858 859| 类型 | 说明 | 860| ---------------------- | ---------------------------------------- | 861| Promise<boolean> | Promise对象,如果辅助功能已启用,则返回 true;否则返回 false。 | 862 863**示例:** 864 865```ts 866import { accessibility } from '@kit.AccessibilityKit'; 867import { BusinessError } from '@kit.BasicServicesKit'; 868 869accessibility.isOpenAccessibility().then((data: boolean) => { 870 console.info(`success data:isOpenAccessibility : ${JSON.stringify(data)}`) 871}).catch((err: BusinessError) => { 872 console.error(`failed to isOpenAccessibility, Code is ${err.code}, message is ${err.message}`); 873}); 874``` 875 876## accessibility.isOpenAccessibility<sup>(deprecated)</sup> 877 878isOpenAccessibility(callback: AsyncCallback<boolean>): void 879 880判断是否启用了辅助功能,使用callback异步回调。 881 882> **说明:** 883> 884> 从API version 10开始废弃。 885> 886> 推荐使用[accessibility.isOpenAccessibilitySync](#accessibilityisopenaccessibilitysync10)。 887 888**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 889 890**参数:** 891 892| 参数名 | 类型 | 必填 | 说明 | 893| -------- | ---------------------------- | ---- | ----------------------------------- | 894| callback | AsyncCallback<boolean> | 是 | 回调函数,如果辅助功能已启用,则返回 true;否则返回 false。 | 895 896**示例:** 897 898```ts 899import { accessibility } from '@kit.AccessibilityKit'; 900import { BusinessError } from '@kit.BasicServicesKit'; 901 902accessibility.isOpenAccessibility((err: BusinessError, data: boolean) => { 903 if (err) { 904 console.error(`failed to isOpenAccessibility, Code is ${err.code}, message is ${err.message}`); 905 return; 906 } 907 console.info(`success data:isOpenAccessibility : ${JSON.stringify(data)}`); 908}); 909``` 910 911## accessibility.isOpenAccessibilitySync<sup>10+</sup> 912 913isOpenAccessibilitySync(): boolean 914 915是否启用了辅助功能。 916 917**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 918 919**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 920 921**返回值:** 922 923| 类型 | 说明 | 924| ----------- | ------------------------------------- | 925| boolean | 启用辅助功能返回true,否则返回false。 | 926 927**示例:** 928 929```ts 930import { accessibility } from '@kit.AccessibilityKit'; 931import { BusinessError } from '@kit.BasicServicesKit'; 932 933let status: boolean = accessibility.isOpenAccessibilitySync(); 934``` 935 936## accessibility.isOpenTouchGuide<sup>(deprecated)</sup> 937 938isOpenTouchGuide(): Promise<boolean> 939 940判断触摸浏览模式是否开启, 使用Promise异步回调。 941 942> **说明:** 943> 944> 从API version 10开始废弃。 945> 946> 推荐使用[accessibility.isOpenTouchGuideSync](#accessibilityisopentouchguidesync10)。 947 948**系统能力**:SystemCapability.BarrierFree.Accessibility.Vision 949 950**返回值:** 951 952| 类型 | 说明 | 953| ---------------------- | ---------------------------------------- | 954| Promise<boolean> | Promise对象,如果触摸浏览模式已开启,则返回 true;否则返回 false。 | 955 956**示例:** 957 958```ts 959import { accessibility } from '@kit.AccessibilityKit'; 960import { BusinessError } from '@kit.BasicServicesKit'; 961 962accessibility.isOpenTouchGuide().then((data: boolean) => { 963 console.info(`success data:isOpenTouchGuide : ${JSON.stringify(data)}`); 964}).catch((err: BusinessError) => { 965 console.error(`failed to isOpenTouchGuide, Code is ${err.code}, message is ${err.message}`); 966}); 967``` 968 969## accessibility.isOpenTouchGuide<sup>(deprecated)</sup> 970 971isOpenTouchGuide(callback: AsyncCallback<boolean>): void 972 973判断触摸浏览模式是否开启, 使用callback异步回调。 974 975> **说明:** 976> 977> 从API version 10开始废弃。 978> 979> 推荐使用[accessibility.isOpenTouchGuideSync](#accessibilityisopentouchguidesync10)。 980 981**系统能力**:SystemCapability.BarrierFree.Accessibility.Vision 982 983**参数:** 984 985| 参数名 | 类型 | 必填 | 说明 | 986| -------- | ---------------------------- | ---- | ------------------------------------- | 987| callback | AsyncCallback<boolean> | 是 | 回调函数,如果触摸浏览模式已开启,则返回 true;否则返回 false。 | 988 989**示例:** 990 991```ts 992import { accessibility } from '@kit.AccessibilityKit'; 993import { BusinessError } from '@kit.BasicServicesKit'; 994 995accessibility.isOpenTouchGuide((err: BusinessError, data: boolean) => { 996 if (err) { 997 console.error(`failed to isOpenTouchGuide, Code is ${err.code}, message is ${err.message}`); 998 return; 999 } 1000 console.info(`success data:isOpenTouchGuide : ${JSON.stringify(data)}`); 1001}); 1002``` 1003 1004## accessibility.isOpenTouchGuideSync<sup>10+</sup> 1005 1006isOpenTouchGuideSync(): boolean 1007 1008是否开启了触摸浏览模式。 1009 1010**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 1011 1012**系统能力**:SystemCapability.BarrierFree.Accessibility.Vision 1013 1014**返回值:** 1015 1016| 类型 | 说明 | 1017| ------- | ------------------------------------- | 1018| boolean | 启用辅助功能返回true,否则返回false。 | 1019 1020**示例:** 1021 1022```ts 1023import { accessibility } from '@kit.AccessibilityKit'; 1024 1025let status: boolean = accessibility.isOpenTouchGuideSync(); 1026``` 1027 1028## accessibility.sendEvent<sup>(deprecated)</sup> 1029 1030sendEvent(event: EventInfo): Promise<void> 1031 1032发送无障碍事件, 使用Promise异步回调。 1033 1034> **说明:** 1035> 1036> 从API version 7开始支持,从API version 9开始废弃。 1037> 推荐使用[accessibility.sendAccessibilityEvent()](#accessibilitysendaccessibilityevent9)。 1038 1039**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 1040 1041**参数:** 1042 1043| 参数名 | 类型 | 必填 | 说明 | 1044| ----- | ----------------------- | ---- | -------- | 1045| event | [EventInfo](#eventinfo) | 是 | 无障碍事件对象。 | 1046 1047**返回值:** 1048 1049| 类型 | 说明 | 1050| ------------------- | ---------------- | 1051| Promise<void> | 无返回结果的Promise对象。 | 1052 1053**示例:** 1054 1055```ts 1056import { accessibility } from '@kit.AccessibilityKit'; 1057import { BusinessError } from '@kit.BasicServicesKit'; 1058 1059let eventInfo: accessibility.EventInfo = ({ 1060 type: 'click', 1061 bundleName: 'com.example.MyApplication', 1062 triggerAction: 'click', 1063}); 1064 1065accessibility.sendEvent(eventInfo).then(() => { 1066 console.info(`Succeeded in send event,eventInfo is ${eventInfo}`); 1067}).catch((err: BusinessError) => { 1068 console.error(`failed to sendEvent, Code is ${err.code}, message is ${err.message}`); 1069}); 1070``` 1071 1072## accessibility.sendEvent<sup>(deprecated)</sup> 1073 1074sendEvent(event: EventInfo, callback: AsyncCallback<void>): void 1075 1076发送无障碍事件, 使用callback异步回调。 1077 1078> **说明:** 1079> 1080> 从API version 7开始支持,从API version 9开始废弃。 1081> 推荐使用[accessibility.sendAccessibilityEvent()](#accessibilitysendaccessibilityevent9-1)。 1082 1083**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 1084 1085**参数:** 1086 1087| 参数名 | 类型 | 必填 | 说明 | 1088| -------- | ------------------------- | ---- | ---------------------------------------- | 1089| event | [EventInfo](#eventinfo) | 是 | 辅助事件对象。 | 1090| callback | AsyncCallback<void> | 是 | 回调函数,如果发送无障碍事件失败,则 AsyncCallback中err有数据返回。 | 1091 1092**示例:** 1093 1094```ts 1095import { accessibility } from '@kit.AccessibilityKit'; 1096import { BusinessError } from '@kit.BasicServicesKit'; 1097 1098let eventInfo: accessibility.EventInfo = ({ 1099 type: 'click', 1100 bundleName: 'com.example.MyApplication', 1101 triggerAction: 'click', 1102}); 1103 1104accessibility.sendEvent(eventInfo, (err: BusinessError) => { 1105 if (err) { 1106 console.error(`failed to sendEvent, Code is ${err.code}, message is ${err.message}`); 1107 return; 1108 } 1109 console.info(`Succeeded in sendEvent, eventInfo is ${eventInfo}`); 1110}); 1111``` 1112 1113## accessibility.sendAccessibilityEvent<sup>9+</sup> 1114 1115sendAccessibilityEvent(event: EventInfo): Promise<void> 1116 1117发送无障碍事件, 使用Promise异步回调。 1118 1119**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 1120 1121**参数:** 1122 1123| 参数名 | 类型 | 必填 | 说明 | 1124| ----- | ----------------------- | ---- | -------- | 1125| event | [EventInfo](#eventinfo) | 是 | 无障碍事件对象。 | 1126 1127**返回值:** 1128 1129| 类型 | 说明 | 1130| ------------------- | ---------------- | 1131| Promise<void> | 无返回结果的Promise对象。 | 1132 1133**错误码:** 1134 1135以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 1136 1137| 错误码ID | 错误信息 | 1138| ------- | -------------------------------- | 1139| 401 |Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1140 1141**示例:** 1142 1143```ts 1144import { accessibility } from '@kit.AccessibilityKit'; 1145import { BusinessError } from '@kit.BasicServicesKit'; 1146 1147let eventInfo: accessibility.EventInfo = ({ 1148 type: 'click', 1149 bundleName: 'com.example.MyApplication', 1150 triggerAction: 'click', 1151}); 1152 1153accessibility.sendAccessibilityEvent(eventInfo).then(() => { 1154 console.info(`Succeeded in send event,eventInfo is ${eventInfo}`); 1155}).catch((err: BusinessError) => { 1156 console.error(`failed to send event , Code is ${err.code}, message is ${err.message}`); 1157}); 1158``` 1159 1160## accessibility.sendAccessibilityEvent<sup>9+</sup> 1161 1162sendAccessibilityEvent(event: EventInfo, callback: AsyncCallback<void>): void 1163 1164发送无障碍事件, 使用callback异步回调。 1165 1166**系统能力**:SystemCapability.BarrierFree.Accessibility.Core 1167 1168**参数:** 1169 1170| 参数名 | 类型 | 必填 | 说明 | 1171| -------- | ------------------------- | ---- | ---------------------------------------- | 1172| event | [EventInfo](#eventinfo) | 是 | 辅助事件对象。 | 1173| callback | AsyncCallback<void> | 是 | 回调函数,如果发送无障碍事件失败,则 AsyncCallback中err有数据返回。 | 1174 1175**错误码:** 1176 1177以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 1178 1179| 错误码ID | 错误信息 | 1180| ------- | -------------------------------- | 1181| 401 |Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1182 1183**示例:** 1184 1185```ts 1186import { accessibility } from '@kit.AccessibilityKit'; 1187import { BusinessError } from '@kit.BasicServicesKit'; 1188 1189let eventInfo: accessibility.EventInfo = ({ 1190 type: 'click', 1191 bundleName: 'com.example.MyApplication', 1192 triggerAction: 'click', 1193}); 1194 1195accessibility.sendAccessibilityEvent(eventInfo, (err: BusinessError) => { 1196 if (err) { 1197 console.error(`failed to send event, Code is ${err.code}, message is ${err.message}`); 1198 return; 1199 } 1200 console.info(`Succeeded in send event, eventInfo is ${eventInfo}`); 1201}); 1202``` 1203 1204**主动聚焦示例:** 1205 1206```ts 1207@Entry 1208@Component 1209struct Index { 1210 1211 build() { 1212 Column() { 1213 // 待聚焦组件添加id属性,id唯一性由使用者保证 1214 Button('待聚焦组件').id('click') 1215 } 1216 } 1217} 1218``` 1219```ts 1220import { accessibility } from '@kit.AccessibilityKit'; 1221import { BusinessError } from '@kit.BasicServicesKit'; 1222 1223let eventInfo: accessibility.EventInfo = ({ 1224 type: 'requestFocusForAccessibility', 1225 bundleName: 'com.example.MyApplication', 1226 triggerAction: 'common', 1227 customId: 'click' // 对应待聚焦组件id属性值 1228}); 1229 1230accessibility.sendAccessibilityEvent(eventInfo, (err: BusinessError) => { 1231 if (err) { 1232 console.error(`failed to send event, Code is ${err.code}, message is ${err.message}`); 1233 return; 1234 } 1235 console.info(`Succeeded in send event, eventInfo is ${eventInfo}`); 1236}); 1237``` 1238