1# @ohos.application.AccessibilityExtensionAbility (辅助功能扩展能力) 2 3**AccessibilityExtensionAbility**基于ExtensionAbility框架,提供辅助功能业务的能力。 4 5> **说明:** 6> 7> 本模块首批接口从API version 9开始支持,后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9## 导入模块 10 11```ts 12import AccessibilityExtensionAbility from '@ohos.application.AccessibilityExtensionAbility'; 13``` 14 15## 属性 16 17**系统能力:** SystemCapability.BarrierFree.Accessibility.Core 18 19| 名称 | 类型 | 可读 | 可写 | 说明 | 20| --------- | -------- | ---- | ---- | ------------------------- | 21| context | [AccessibilityExtensionContext](js-apis-inner-application-accessibilityExtensionContext.md) | 是 | 否 | 表示辅助扩展能力上下文。 | 22 23## AccessibilityEvent 24 25辅助事件信息。 26 27**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core 28 29### 属性 30 31| 名称 | 类型 | 可读 | 可写 | 说明 | 32| --------- | ---------------------------------------- | ---- | ---- | ---------- | 33| eventType | [accessibility.EventType](js-apis-accessibility.md#EventType) \| [accessibility.WindowUpdateType](js-apis-accessibility.md#WindowUpdateType) \| [TouchGuideType](#touchguidetype) \| [GestureType](#gesturetype) \| [PageUpdateType](#pageupdatetype) | 是 | 否 | 具体事件类型。 | 34| target | [AccessibilityElement](js-apis-inner-application-accessibilityExtensionContext.md#accessibilityelement9) | 是 | 否 | 发生事件的目标组件。 | 35| timeStamp | number | 是 | 否 | 事件时间戳。 | 36 37## GestureType 38 39手势事件类型。 40 41**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core 42 43| 名称 | 描述 | 44| ------------- | ------------ | 45| left | 类型为字符串,表示向左的手势。 | 46| leftThenRight | 类型为字符串,表示先向左再向右的手势。 | 47| leftThenUp | 类型为字符串,表示先向左再向上的手势。 | 48| leftThenDown | 类型为字符串,表示先向左再向下的手势。 | 49| right | 类型为字符串,表示向右的手势。 | 50| rightThenLeft | 类型为字符串,表示先向右再向左的手势。 | 51| rightThenUp | 类型为字符串,表示先向右再向上的手势。 | 52| rightThenDown | 类型为字符串,表示先向右再向下的手势。 | 53| up | 类型为字符串,表示向上的手势。 | 54| upThenLeft | 类型为字符串,表示先向上再向左的手势。 | 55| upThenRight | 类型为字符串,表示先向上再向右的手势。 | 56| upThenDown | 类型为字符串,表示先向上再向下的手势。 | 57| down | 类型为字符串,表示向下的手势。 | 58| downThenLeft | 类型为字符串,表示先向下再向左的手势。 | 59| downThenRight | 类型为字符串,表示先向下再向右的手势。 | 60| downThenUp | 类型为字符串,表示先向下再向上的手势。 | 61 62## PageUpdateType 63 64页面刷新类型。 65 66**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core 67 68| 名称 | 描述 | 69| ----------------- | --------- | 70| pageContentUpdate | 类型为字符串,表示页面内容刷新。 | 71| pageStateUpdate | 类型为字符串,表示页面状态刷新。 | 72 73## TouchGuideType 74 75触摸浏览事件类型。 76 77**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core 78 79| 名称 | 描述 | 80| ---------- | ------------ | 81| touchBegin | 类型为字符串,表示触摸浏览时开始触摸。 | 82| touchEnd | 类型为字符串,表示触摸浏览时结束触摸。 | 83 84## AccessibilityExtensionAbility.onConnect 85 86onConnect(): void; 87 88用户启用AccessibilityExtensionAbility时,系统服务完成连接后,回调此接口,可以该方法中执行初始化业务逻辑操作。该方法可以选择性重写。 89 90**系统能力:** SystemCapability.BarrierFree.Accessibility.Core 91 92**示例:** 93 94```ts 95class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { 96 onConnect() { 97 console.log('AxExtensionAbility onConnect'); 98 } 99}; 100``` 101 102## AccessibilityExtensionAbility.onDisconnect 103 104onDisconnect(): void; 105 106用户停用AccessibilityExtensionAbility时,系统服务完成断开连接后,回调此接口,可以该方法中执行资源回收退出业务逻辑操作。该方法可以选择性重写。 107 108**系统能力:** SystemCapability.BarrierFree.Accessibility.Core 109 110**示例:** 111 112```ts 113class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { 114 onDisconnect() { 115 console.log('AxExtensionAbility onDisconnect'); 116 } 117}; 118``` 119 120## AccessibilityExtensionAbility.onAccessibilityEvent 121 122onAccessibilityEvent(event: AccessibilityEvent): void; 123 124在关注的应用及事件类型对应的事件发生时回调此接口,可以在该方法中根据事件信息进行业务逻辑处理。一般情况下需要重写该方法完成业务。 125 126**系统能力:** SystemCapability.BarrierFree.Accessibility.Core 127 128**参数:** 129 130| 参数名 | 类型 | 必填 | 说明 | 131| ----- | ---------------------------------------- | ---- | --------------- | 132| event | [AccessibilityEvent](#accessibilityevent) | 是 | 无障碍事件回调函数。无返回值。 | 133 134**示例:** 135 136```ts 137class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { 138 onAccessibilityEvent(event) { 139 console.log('AxExtensionAbility onAccessibilityEvent'); 140 if (event.eventType === 'click') { 141 console.log('AxExtensionAbility onAccessibilityEvent: click'); 142 } 143 } 144}; 145``` 146 147## AccessibilityExtensionAbility.onKeyEvent 148 149onKeyEvent(keyEvent: KeyEvent): boolean; 150 151在物理按键按下时回调此方法,可以在该方法中根据业务判断是否对事件进行拦截。 152 153**系统能力:** SystemCapability.BarrierFree.Accessibility.Core 154 155**参数:** 156 157| 参数名 | 类型 | 必填 | 说明 | 158| -------- | ---------------------------------------- | ---- | ----------------------- | 159| keyEvent | [KeyEvent](js-apis-keyevent.md#KeyEvent) | 是 | 按键事件回调函数。返回true表示拦截此按键。 | 160 161**示例:** 162 163```ts 164class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { 165 onKeyEvent(keyEvent) { 166 console.log('AxExtensionAbility onKeyEvent'); 167 if (keyEvent.keyCode === 22) { 168 console.log('AxExtensionAbility onKeyEvent: intercept 22'); 169 return true; 170 } 171 return false; 172 } 173}; 174``` 175