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