鸿蒙5.0开发进阶:ArkTS API-@ohos.application.AccessibilityExtensionAbility (辅助功能扩展能力)

往期鸿蒙全套实战文章必看:(文中附带全栈鸿蒙学习资料)


@ohos.application.AccessibilityExtensionAbility (辅助功能扩展能力)

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

说明

本模块首批接口从API version 9开始支持,后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit';

属性

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

名称

类型

可读

可写

说明

context

AccessibilityExtensionContext

表示辅助扩展能力上下文。

AccessibilityEvent

辅助事件信息。

系统能力:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core

属性

名称

类型

可读

可写

说明

eventType

accessibility.EventType | accessibility.WindowUpdateType | TouchGuideType | GestureType | PageUpdateType

具体事件类型。

EventType:无障碍事件类型;

WindowUpdateType:窗口变化类型;TouchGuideType:触摸浏览事件类型;

GestureType:手势事件类型;

PageUpdateType:页面刷新类型。

target

AccessibilityElement

发生事件的目标组件。

timeStamp

number

事件时间戳,单位是毫秒。

elementId12+

number

主动聚焦的组件ID。

textAnnouncedForAccessibility12+

string

主动播报的内容。

AccessibilityElement10+

表示无障碍节点元素。

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

示例:

import { AccessibilityElement } from '@kit.AccessibilityKit';

let accessibilityElement: AccessibilityElement;

ElementAttributeValues10+

表示节点元素具备的属性名称及属性值类型信息。

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

示例:

import { ElementAttributeValues } from '@kit.AccessibilityKit';

let elementAttributeValues: ElementAttributeValues;

FocusDirection10+

表示查询下一焦点元素的方向。

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

示例:

import { FocusDirection } from '@kit.AccessibilityKit';

let focusDirection: FocusDirection;

ElementAttributeKeys10+

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

名称

类型

可读

可写

说明

ElementAttributeKeys

keyof ElementAttributeValues

表示ElementAttributeValues的key。

示例:

import { ElementAttributeKeys } from '@kit.AccessibilityKit';

let elementAttributeKeys: ElementAttributeKeys;

FocusType10+

表示查询焦点元素的类型。

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

示例:

import { WindowType } from '@kit.AccessibilityKit';

let windowType: WindowType;

WindowType 10+

表示窗口的类型。

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

示例:

import { WindowType } from '@kit.AccessibilityKit';

let windowType: WindowType;

Rect10+

表示矩形区域。

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

示例:

import { Rect } from '@kit.AccessibilityKit';

let rect: Rect;

GestureType

手势事件类型。

系统能力:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core

名称

类型

描述

left

string

表示向左的手势。

leftThenRight

string

表示先向左再向右的手势。

leftThenUp

string

表示先向左再向上的手势。

leftThenDown

string

表示先向左再向下的手势。

right

string

表示向右的手势。

rightThenLeft

string

表示先向右再向左的手势。

rightThenUp

string

表示先向右再向上的手势。

rightThenDown

string

表示先向右再向下的手势。

up

string

表示向上的手势。

upThenLeft

string

表示先向上再向左的手势。

upThenRight

string

表示先向上再向右的手势。

upThenDown

string

表示先向上再向下的手势。

down

string

表示向下的手势。

downThenLeft

string

表示先向下再向左的手势。

downThenRight

string

表示先向下再向右的手势。

downThenUp

string

表示先向下再向上的手势。

twoFingerSingleTap11+

string

表示双指单击的手势。

twoFingerDoubleTap11+

string

表示双指双击的手势。

twoFingerDoubleTapAndHold11+

string

表示双指双击长按的手势。

twoFingerTripleTap11+

string

表示双指三击的手势。

twoFingerTripleTapAndHold11+

string

表示双指三击长按的手势。

threeFingerSingleTap11+

string

表示三指单击的手势。

threeFingerDoubleTap11+

string

表示三指双击的手势。

threeFingerDoubleTapAndHold11+

string

表示三指双击长按的手势。

threeFingerTripleTap11+

string

表示三指三击的手势。

threeFingerTripleTapAndHold11+

string

表示三指三击长按的手势。

fourFingerSingleTap11+

string

表示四指单击的手势。

fourFingerDoubleTap11+

string

表示四指双击的手势。

fourFingerDoubleTapAndHold11+

string

表示四指双击长按的手势。

fourFingerTripleTap11+

string

表示四指三击的手势。

fourFingerTripleTapAndHold11+

string

表示四指三击长按的手势。

threeFingerSwipeUp11+

string

表示三指向上滑动的手势。

threeFingerSwipeDown11+

string

表示三指向下滑动的手势。

threeFingerSwipeLeft11+

string

表示三指向左滑动的手势。

threeFingerSwipeRight11+

string

表示三指向右滑动的手势。

fourFingerSwipeUp11+

string

表示四指向上滑动的手势。

fourFingerSwipeDown11+

string

表示四指向下滑动的手势。

fourFingerSwipeLeft11+

string

表示四指向左滑动的手势。

fourFingerSwipeRight11+

string

表示四指向右滑动的手势。

PageUpdateType

type PageUpdateType = 'pageContentUpdate' | 'pageStateUpdate'

页面刷新类型。

系统能力:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core

类型

说明

'pageContentUpdate'

表示页面内容刷新。

'pageStateUpdate'

表示页面状态刷新。

TouchGuideType

type TouchGuideType = 'touchBegin' | 'touchEnd'

触摸浏览事件类型。

系统能力:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core

类型

说明

'touchBegin'

表示触摸浏览时开始触摸。

'touchEnd'

表示触摸浏览时结束触摸。

AccessibilityExtensionAbility.onConnect(deprecated)

onConnect(): void;

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

说明

从API version 12开始废弃。

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

示例:

import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit';

class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility {
  onConnect(): void {
    console.log('AxExtensionAbility onConnect');
  }
}

AccessibilityExtensionAbility.onDisconnect(deprecated)

onDisconnect(): void;

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

说明

从API version 12开始废弃。

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

示例:

import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit';

class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility {
  onDisconnect(): void {
    console.log('AxExtensionAbility onDisconnect');
  }
}

AccessibilityExtensionAbility.onAccessibilityEvent(deprecated)

onAccessibilityEvent(event: AccessibilityEvent): void;

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

说明

从API version 12开始废弃。

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

参数:

参数名

类型

必填

说明

event

AccessibilityEvent

无障碍事件回调函数。无返回值。

示例:

import { AccessibilityExtensionAbility, AccessibilityEvent } from '@kit.AccessibilityKit';

class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility {
  onAccessibilityEvent(event: AccessibilityEvent): void {
    console.log('AxExtensionAbility onAccessibilityEvent');
    if (event.eventType === 'click') {
      console.log('AxExtensionAbility onAccessibilityEvent: click');
    }
  }
}

AccessibilityExtensionAbility.onKeyEvent(deprecated)

onKeyEvent(keyEvent: KeyEvent): boolean;

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

说明

从API version 12开始废弃。

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

参数:

参数名

类型

必填

说明

keyEvent

KeyEvent

按键事件回调函数。返回true表示拦截此按键。

示例:

import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit';
import { KeyEvent } from '@kit.InputKit';

class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility {
  onKeyEvent(keyEvent: KeyEvent): boolean {
    console.log('AxExtensionAbility onKeyEvent');
    if (keyEvent.key.code === 16) {
      console.log('AxExtensionAbility onKeyEvent: intercept 16');
      return true;
    }
    return false;
  }
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值