• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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