@ohos.application.AccessibilityExtensionAbility (辅助功能扩展能力)(系统接口)
AccessibilityExtensionAbility基于ExtensionAbility框架,提供辅助功能业务的能力,能力包括成功连接无障碍服务、断开无障碍服务、处理无障碍服务事件和无障碍按键事件等。
说明:
- 本模块首批接口从API version 20开始支持,后续版本的新增接口,采用上角标单独标记接口的起始版本。
- 当前页面仅包含本模块的系统接口。其他公开接口参见@ohos.application.AccessibilityExtensionAbility。
导入模块
import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit';
AccessibilityEventInfo
无障碍事件信息。
系统接口:此接口为系统接口。
系统能力:SystemCapability.BarrierFree.Accessibility.Core
属性
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| eventType | AccessibilityEventType | 否 | 否 | 无障碍事件类型。 |
| target | AccessibilityElement | 否 | 是 | 发生事件的目标组件。 |
| timeStamp | number | 否 | 是 | 事件时间戳,单位是毫秒。默认值为0。 |
| extraInfo | string | 否 | 是 | 针对TextArea、TextInput、SearchField、RichEdit组件, 组件文本内容有新增或删除时,新增或删除的文本内容。 |
AccessibilityExtensionAbility.onAccessibilityConnect
onAccessibilityConnect(): void;
连接无障碍服务成功后的回调函数。 用户启用AccessibilityExtensionAbility时,系统服务完成连接后回调该接口,在该方法中完成初始化业务逻辑操作。 该方法可以选择性重写。 无障碍服务通过该回调,通知Ability已成功连接。
系统接口:此接口为系统接口。
需要权限:ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY
系统能力:SystemCapability.BarrierFree.Accessibility.Core
错误码:
以下错误码的详细介绍请参见通用错误码。
| 错误码ID | 错误信息 |
|---|---|
| 201 | Permission verification failed. The application does not have the permission required to call the API. |
| 202 | Permission verification failed. A non-system application calls a system API. |
示例:
import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit';
class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility {
onAccessibilityConnect(): void {
console.info('AxExtensionAbility onAccessibilityConnect');
}
}
AccessibilityExtensionAbility.onAccessibilityDisconnect
onAccessibilityDisconnect(): void;
断开无障碍服务成功后的回调函数。 用户停用AccessibilityExtensionAbility时,系统服务完成断开连接后回调该接口,在该方法中执行资源回收和退出业务操作。该方法可以选择性重写。
系统接口:此接口为系统接口。
需要权限:ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY
系统能力:SystemCapability.BarrierFree.Accessibility.Core
错误码:
以下错误码的详细介绍请参见通用错误码。
| 错误码ID | 错误信息 |
|---|---|
| 201 | Permission verification failed. The application does not have the permission required to call the API. |
| 202 | Permission verification failed. A non-system application calls a system API. |
示例:
import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit';
class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility {
onAccessibilityDisconnect(): void {
console.info('AxExtensionAbility onAccessibilityDisconnect');
}
}
AccessibilityExtensionAbility.onAccessibilityEventInfo
onAccessibilityEventInfo(event: AccessibilityEventInfo): void;
在应用和事件发生时回调该接口,根据事件信息处理业务逻辑。通常需要重写。
系统接口:此接口为系统接口。
需要权限:ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY
系统能力:SystemCapability.BarrierFree.Accessibility.Core
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| event | AccessibilityEventInfo | 是 | 无障碍事件 |
错误码:
以下错误码的详细介绍请参见通用错误码。
| 错误码ID | 错误信息 |
|---|---|
| 201 | Permission verification failed. The application does not have the permission required to call the API. |
| 202 | Permission verification failed. A non-system application calls a system API. |
示例:
import { AccessibilityExtensionAbility, AccessibilityEventInfo, AccessibilityEventType } from '@kit.AccessibilityKit';
class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility {
onAccessibilityEventInfo(event: AccessibilityEventInfo): void {
console.info('AxExtensionAbility onAccessibilityEventInfo');
if (event.eventType === AccessibilityEventType.TYPE_CLICK) {
console.info('AxExtensionAbility onAccessibilityEventInfo: click');
}
}
}
AccessibilityExtensionAbility.onAccessibilityKeyEvent
onAccessibilityKeyEvent(keyEvent: KeyEvent): boolean;
在物理按键按下时回调该方法,在该方法中根据业务判断是否消费事件。
系统接口:此接口为系统接口。
需要权限:ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY
系统能力:SystemCapability.BarrierFree.Accessibility.Core
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| keyEvent | KeyEvent | 是 | 按键事件。 |
返回值:
| 类型 | 说明 |
|---|---|
| boolean | 返回true表示此事件被消费,不会继续传递。 返回false表示些事件未被消费,会继续传递。 |
错误码:
以下错误码的详细介绍请参见通用错误码。
| 错误码ID | 错误信息 |
|---|---|
| 201 | Permission verification failed. The application does not have the permission required to call the API. |
| 202 | Permission verification failed. A non-system application calls a system API. |
示例:
import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit';
import { KeyEvent, KeyCode } from '@kit.InputKit';
class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility {
onAccessibilityKeyEvent(keyEvent: KeyEvent): boolean {
console.info('AxExtensionAbility onAccessibilityKeyEvent');
if (keyEvent.key.code === KeyCode.KEYCODE_VOLUME_UP) {
console.info('AxExtensionAbility onAccessibilityKeyEvent: intercept 16');
return true;
}
return false;
}
}