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) | 是 | 否 | 具体事件类型。<br />EventType:无障碍事件类型;<br />WindowUpdateType:窗口变化类型;TouchGuideType:触摸浏览事件类型;<br />GestureType:手势事件类型;<br />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 95import AccessibilityExtensionAbility from '@ohos.application.AccessibilityExtensionAbility'; 96 97class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { 98 onConnect(): void { 99 console.log('AxExtensionAbility onConnect'); 100 } 101} 102``` 103 104## AccessibilityExtensionAbility.onDisconnect 105 106onDisconnect(): void; 107 108用户停用AccessibilityExtensionAbility时,系统服务完成断开连接后,回调此接口,可以该方法中执行资源回收退出业务逻辑操作。该方法可以选择性重写。 109 110**系统能力:** SystemCapability.BarrierFree.Accessibility.Core 111 112**示例:** 113 114```ts 115import AccessibilityExtensionAbility from '@ohos.application.AccessibilityExtensionAbility'; 116 117class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { 118 onDisconnect(): void { 119 console.log('AxExtensionAbility onDisconnect'); 120 } 121} 122``` 123 124## AccessibilityExtensionAbility.onAccessibilityEvent 125 126onAccessibilityEvent(event: AccessibilityEvent): void; 127 128在关注的应用及事件类型对应的事件发生时回调此接口,可以在该方法中根据事件信息进行业务逻辑处理。一般情况下需要重写该方法完成业务。 129 130**系统能力:** SystemCapability.BarrierFree.Accessibility.Core 131 132**参数:** 133 134| 参数名 | 类型 | 必填 | 说明 | 135| ----- | ---------------------------------------- | ---- | --------------- | 136| event | [AccessibilityEvent](#accessibilityevent) | 是 | 无障碍事件回调函数。无返回值。 | 137 138**示例:** 139 140```ts 141import AccessibilityExtensionAbility , { AccessibilityEvent } from '@ohos.application.AccessibilityExtensionAbility'; 142 143class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { 144 onAccessibilityEvent(event: AccessibilityEvent): void { 145 console.log('AxExtensionAbility onAccessibilityEvent'); 146 if (event.eventType === 'click') { 147 console.log('AxExtensionAbility onAccessibilityEvent: click'); 148 } 149 } 150} 151``` 152 153## AccessibilityExtensionAbility.onKeyEvent 154 155onKeyEvent(keyEvent: KeyEvent): boolean; 156 157在物理按键按下时回调此方法,可以在该方法中根据业务判断是否对事件进行拦截。 158 159**系统能力:** SystemCapability.BarrierFree.Accessibility.Core 160 161**参数:** 162 163| 参数名 | 类型 | 必填 | 说明 | 164| -------- | ---------------------------------------- | ---- | ----------------------- | 165| keyEvent | [KeyEvent](js-apis-keyevent.md#KeyEvent) | 是 | 按键事件回调函数。返回true表示拦截此按键。 | 166 167**示例:** 168 169```ts 170import AccessibilityExtensionAbility from '@ohos.application.AccessibilityExtensionAbility'; 171import { KeyEvent } from '@ohos.multimodalInput.keyEvent'; 172 173class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { 174 onKeyEvent(keyEvent: KeyEvent): boolean { 175 console.log('AxExtensionAbility onKeyEvent'); 176 if (keyEvent.key.code === 16) { 177 console.log('AxExtensionAbility onKeyEvent: intercept 16'); 178 return true; 179 } 180 return false; 181 } 182} 183``` 184