js-apis-application-accessibilityExtensionAbility.md 6.3 KB
Newer Older
1
# @ohos.application.AccessibilityExtensionAbility (辅助功能扩展能力)
2 3 4

**AccessibilityExtensionAbility**基于ExtensionAbility框架,提供辅助功能业务的能力。

5
> **说明:**
6
>
7
> 本模块首批接口从API version 9开始支持,后续版本的新增接口,采用上角标单独标记接口的起始版本。
8 9 10 11

## 导入模块

```ts
H
HelloCrease 已提交
12
import AccessibilityExtensionAbility from '@ohos.application.AccessibilityExtensionAbility'
13 14
```

L
laiguizhong 已提交
15 16 17 18
## 属性

**系统能力:** SystemCapability.BarrierFree.Accessibility.Core

19
| 名称      | 类型 | 可读 | 可写 | 说明                      |
L
laiguizhong 已提交
20
| --------- | -------- | ---- | ---- | ------------------------- |
M
m00512953 已提交
21
| context | [AccessibilityExtensionContext](js-apis-inner-application-accessibilityExtensionContext.md) | 是 | 否 | 表示辅助扩展能力上下文。 |
L
laiguizhong 已提交
22

23 24 25 26
## AccessibilityEvent

辅助事件信息。

L
laiguizhong 已提交
27
**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
28 29 30

### 属性

31
| 名称        | 类型                                     | 可读   | 可写   | 说明         |
H
HelloCrease 已提交
32
| --------- | ---------------------------------------- | ---- | ---- | ---------- |
Z
zaki 已提交
33
| eventType | [accessibility.EventType](js-apis-accessibility.md#EventType) \| [accessibility.WindowUpdateType](js-apis-accessibility.md#WindowUpdateType) \| [TouchGuideType](#touchguidetype) \| [GestureType](#gesturetype) \| [PageUpdateType](#pageupdatetype) | 是    | 否    | 具体事件类型。    |
H
HelloCrease 已提交
34 35
| target    | AccessibilityElement                     | 是    | 否    | 发生事件的目标组件。 |
| timeStamp | number                                   | 是    | 否    | 事件时间戳。     |
36 37 38 39 40

## GestureType

手势事件类型。

L
laiguizhong 已提交
41
**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
42

H
HelloCrease 已提交
43 44 45
| 名称            | 描述           |
| ------------- | ------------ |
| left          | 表示向左的手势。     |
46
| leftThenRight | 表示先向左再向右的手势。 |
H
HelloCrease 已提交
47 48 49
| leftThenUp    | 表示先向左再向上的手势。 |
| leftThenDown  | 表示先向左再向下的手势。 |
| right         | 表示向右的手势。     |
50
| rightThenLeft | 表示先向右再向左的手势。 |
H
HelloCrease 已提交
51
| rightThenUp   | 表示先向右再向上的手势。 |
52
| rightThenDown | 表示先向右再向下的手势。 |
H
HelloCrease 已提交
53 54 55 56 57 58
| up            | 表示向上的手势。     |
| upThenLeft    | 表示先向上再向左的手势。 |
| upThenRight   | 表示先向上再向右的手势。 |
| upThenDown    | 表示先向上再向下的手势。 |
| down          | 表示向下的手势。     |
| downThenLeft  | 表示先向下再向左的手势。 |
59
| downThenRight | 表示先向下再向右的手势。 |
H
HelloCrease 已提交
60
| downThenUp    | 表示先向下再向上的手势。 |
61 62 63 64 65

## PageUpdateType

页面刷新类型。

L
laiguizhong 已提交
66
**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
67

H
HelloCrease 已提交
68 69
| 名称                | 描述        |
| ----------------- | --------- |
70
| pageContentUpdate | 表示页面内容刷新。 |
H
HelloCrease 已提交
71
| pageStateUpdate   | 表示页面状态刷新。 |
72 73 74 75 76

## TouchGuideType

触摸浏览事件类型。

L
laiguizhong 已提交
77
**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
78

H
HelloCrease 已提交
79 80
| 名称         | 描述           |
| ---------- | ------------ |
81
| touchBegin | 表示触摸浏览时开始触摸。 |
H
HelloCrease 已提交
82
| touchEnd   | 表示触摸浏览时结束触摸。 |
83 84 85 86 87 88 89 90 91 92 93 94

## AccessibilityExtensionAbility.onConnect

onConnect(): void;

用户启用AccessibilityExtensionAbility时,系统服务完成连接后,回调此接口,可以该方法中执行初始化业务逻辑操作。该方法可以选择性重写。

**系统能力:**  SystemCapability.BarrierFree.Accessibility.Core

**示例:**

```ts
95 96 97 98
class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility {
    onConnect() {
        console.log('AxExtensionAbility onConnect');
    }
Z
zaki 已提交
99
};
100 101 102 103 104 105 106 107 108 109 110 111 112
```

## AccessibilityExtensionAbility.onDisconnect

onDisconnect(): void;

用户停用AccessibilityExtensionAbility时,系统服务完成断开连接后,回调此接口,可以该方法中执行资源回收退出业务逻辑操作。该方法可以选择性重写。

**系统能力:**  SystemCapability.BarrierFree.Accessibility.Core

**示例:**

```ts
113 114 115 116
class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility {
    onDisconnect() {
        console.log('AxExtensionAbility onDisconnect');
    }
Z
zaki 已提交
117
};
118 119 120 121 122 123 124 125 126 127 128 129
```

## AccessibilityExtensionAbility.onAccessibilityEvent

onAccessibilityEvent(event: AccessibilityEvent): void;

在关注的应用及事件类型对应的事件发生时回调此接口,可以在该方法中根据事件信息进行业务逻辑处理。一般情况下需要重写该方法完成业务。

**系统能力:**  SystemCapability.BarrierFree.Accessibility.Core

**参数:**

130
| 参数名   | 类型                                     | 必填   | 说明              |
H
HelloCrease 已提交
131
| ----- | ---------------------------------------- | ---- | --------------- |
132
| event | [AccessibilityEvent](#accessibilityevent) | 是    | 无障碍事件回调函数。无返回值。 |
133 134 135 136

**示例:**

```ts
137 138 139 140 141 142
class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility {
    onAccessibilityEvent(event) {
        console.log('AxExtensionAbility onAccessibilityEvent');
        if (event.eventType == 'click') {
            console.log('AxExtensionAbility onAccessibilityEvent: click');
        }
143
    }
Z
zaki 已提交
144
};
145 146 147 148
```

## AccessibilityExtensionAbility.onKeyEvent

L
laiguizhong 已提交
149
onKeyEvent(keyEvent: KeyEvent): boolean;
150 151 152 153 154 155 156

在物理按键按下时回调此方法,可以在该方法中根据业务判断是否对事件进行拦截。

**系统能力:**  SystemCapability.BarrierFree.Accessibility.Core

**参数:**

157
| 参数名      | 类型                                     | 必填   | 说明                      |
H
HelloCrease 已提交
158
| -------- | ---------------------------------------- | ---- | ----------------------- |
L
laiguizhong 已提交
159
| keyEvent | [KeyEvent](js-apis-keyevent.md#KeyEvent) | 是    | 按键事件回调函数。返回true表示拦截此按键。 |
160 161 162 163

**示例:**

```ts
164 165 166 167 168 169 170 171
class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility {
    onKeyEvent(keyEvent) {
        console.log('AxExtensionAbility onKeyEvent');
        if (keyEvent.keyCode == 22) {
            console.log('AxExtensionAbility onKeyEvent: intercept 22');
            return true;
        }
        return false;
172
    }
Z
zaki 已提交
173
};
174
```