鸿蒙开发系统基础能力:【@ohos.accessibility (辅助功能)】

辅助功能

icon-note.gif 说明:  本模块首批接口从 API version 7 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import accessibility from '@ohos.accessibility';

AbilityState

辅助应用状态类型。

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

名称描述
enable辅助应用已启用。
disable辅助应用已禁用。
install辅助应用已安装。

AbilityType

无障碍辅助应用类型。

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

名称描述
audible表示具有听觉反馈。
generic表示具有通用反馈。
haptic表示具有触觉反馈。
spoken表示具有语音反馈。
visual表示具有视觉反馈。

AccessibilityAbilityInfo

辅助应用信息。

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

属性

名称参数类型可读可写说明
idnumberability id。
namestringability 名。
bundleNamestring包名。
abilityTypesArray<[AbilityType]>辅助应用类型。
capabilitiesArray<[Capability]>辅助应用能力列表。
descriptionstring辅助应用描述。
eventTypesArray<[EventType]>辅助应用关注的无障碍事件列表。

Action

应用所支持的目标动作。

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

名称描述
click表示点击操作。
longClick表示长按操作。
scrollForward表示向前滚动操作。
scrollBackward表示向后滚动操作。
focus表示获得焦点操作。
clearFocus表示清除焦点操作。
clearSelection表示清除选择操作。
accessibilityFocus表示获得无障碍焦点操作。
clearAccessibilityFocus表示清除无障碍焦点操作。
cut表示剪切操作。
copy表示复制操作。
paste表示粘贴操作。
select表示选择操作。
setText表示设置文本操作。
delete表示删除操作。
setSelection表示选择操作。

Capability

辅助应用能力类型。

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

名称描述
retrieve具有检索窗口内容的能力。
touchGuide具有触摸探索模式的能力。
keyEventObserver具有过滤按键事件的能力。
zoom具有控制显示放大的能力。
gesture具有执行手势动作的能力。

aptionsFontEdgeType8+

字幕字体边缘类型。

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

名称描述
none无效果。
raised凸起效果。
depressed凹陷效果。
uniform轮廓效果。
dropShadow阴影效果。

CaptionsFontFamily8+

字幕字体。

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

名称描述
default默认字体。
monospacedSerif等宽 Serif 字体。
serifSerif 字体。
monospacedSansSerif等宽 Sans Serif 字体。
sansSerifSans Serif 字体。
casual非正式字体。
cursive手写字体。
smallCapitals小型大写字母字体。

CaptionsStyle8+

字幕风格。

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

名称参数类型可读可写说明
fontFamily[CaptionsFontFamily]描述字幕字体。
fontScalenumber描述字幕字体缩放系数。
fontColornumberstring
fontEdgeType[CaptionsFontEdgeType]描述字幕字体边缘。
backgroundColornumberstring
windowColornumberstring

CaptionsManager8+

字幕配置。

属性

名称参数类型可读可写说明
enabledboolean表示是否启用字幕配置。
style[CaptionsStyle]表示字幕风格。

方法

下列 API 示例中都需要使用 [accessibility.getCaptionsManager()]获取 captionsManager 实例,再通过此实例调用对应的方法。

on(‘enableChange’)

on(type: ‘enableChange’, callback: Callback): void;

注册字幕配置启用的监听函数。

系统能力:SystemCapability.Barrierfree.Accessibility.Hearing

  • 参数:

    参数名参数类型必填说明
    typestring监听字幕配置启用状态。
    callbackCallback回调函数,在启用状态变化时将状态通过此函数进行通知。
  • 示例

    captionsManager.on('enableChange',(data) => {
        console.info('success data:subscribeStateObserver : ' + JSON.stringify(data))
    })
    
on(‘styleChange’)

on(type: ‘styleChange’, callback: Callback): void;

注册字幕风格变化的监听函数。

系统能力:SystemCapability.Barrierfree.Accessibility.Hearing

  • 参数:

    参数名参数类型必填说明
    typestring监听字幕风格变化。
    callbackCallback<[CaptionsStyle]>回调函数,在字幕风格变化时通过此函数进行通知。
  • 示例

    captionsManager.on('styleChange',(data) => {
        console.info('success data:subscribeStateObserver : ' + JSON.stringify(data))
    })
    
off(‘enableChange’)

off(type: ‘enableChange’, callback?: Callback): void;

移除字幕配置启用的监听函数。

系统能力:SystemCapability.Barrierfree.Accessibility.Hearing

  • 参数:

    参数名参数类型必填说明
    typestring监听字幕配置启用状态。
    callbackCallback回调函数,在启用状态变化时将状态通过此函数进行通知。
  • 示例

    captionsManager.off('enableChange')
    
off(‘styleChange’)

off(type: ‘styleChange’, callback?: Callback): void;

移除字幕风格变化的监听函数。

系统能力:SystemCapability.Barrierfree.Accessibility.Hearing

  • 参数:

    参数名参数类型必填说明
    typestring字幕风格变化。
    callbackCallback<[CaptionsStyle]>回调函数,在字幕风格变化时通过此函数进行通知。
  • 示例

    captionsManager.off('styleChange')
    

EventInfo

界面变更事件。

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

属性

名称参数类型可读可写说明
type[EventType]无障碍事件类型。
windowUpdateType[WindowUpdateType]窗口变化类型。
bundleNamestring目标应用名。
componentTypestring事件源组件类型,如按钮、图表。
pageIdnumber事件源的页面 ID。
descriptionstring事件描述。
triggerAction[Action]触发事件的 Action。
textMoveUnit[TextMoveUnit]文本移动粒度。
contentsArray内容列表。
lastContentstring最新内容。
beginIndexnumber画面显示条目的开始序号。
currentIndexnumber当前条目序号。
endIndexnumber画面显示条目的结束序号。
itemCountnumber条目总数。

方法

constructor

constructor(jsonObject)

构造函数。

  • 参数:

    参数名参数类型必填说明
    jsonObjectstring创建对象所需要的 JSON 格式字符串。
  • 示例

    let eventInfo = new accessibility.EventInfo({"type":"click","bundleName":"com.example.MyApplication","triggerAction":"click"})
    

EventType

无障碍事件类型。

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

名称描述
click描述点击组件的事件。
longClick描述长按组件的事件。
select描述选择组件的事件。
focus描述组件获得焦点的事件。
textUpdate描述组件文本已更改的事件。
hoverEnter描述悬停进入组件的事件。
hoverExit描述悬停离开组件的事件。
scroll描述滚动视图的事件。
textSelectionUpdate描述选定文本已更改的事件。
accessibilityFocus描述获得无障碍焦点的事件。
accessibilityFocusClear描述清除无障碍焦点的事件。

TextMoveUnit

文本无障碍导航移动粒度。

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

名称描述
char以字符为移动粒度遍历节点文本。
word以词为移动粒度遍历节点文本。
line以行为移动粒度遍历节点文本。
page以页为移动粒度遍历节点文本。
paragraph以段落为移动粒度遍历节点文本。

WindowUpdateType

窗口变化类型。

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

名称描述
add添加窗口的窗口变化事件。
remove一个窗口被删除的窗口变化事件。
bounds窗口边界已更改的窗口变化事件。
active窗口变为活动或不活动的窗口变化事件。
focus窗口焦点发生变化的窗口变化事件。

accessibility.getAbilityLists

getAbilityLists(abilityType: AbilityType, stateType: AbilityState): Promise<Array>

查询辅助应用列表。

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

  • 参数:

    参数名参数类型必填说明
    abilityType[AbilityType]辅助应用的类型。
    stateType[AbilityState]辅助应用的状态。
  • 返回值:

    类型说明
    Promise<Array<[AccessibilityAbilityInfo]>>返回辅助应用信息列表。
  • 示例

    accessibility.getAbilityLists("spoken", "enable")
        .then((data) => {
            console.info('success data:getAbilityList1 : ' + JSON.stringify(data));
            for (let item of data) {
                console.info(item.id);
                console.info(item.name);
                console.info(item.description);
                console.info(item.abilityTypes);
                console.info(item.eventTypes);
                console.info(item.capabilities);
                console.info(item.packageName);
                console.info(item.filterBundleNames);
                console.info(item.bundleName);
            }
        }).catch((error) => {
            console.error('failed to  getAbilityList1 because ' + JSON.stringify(error));
        })
    

accessibility.getAbilityLists

getAbilityLists(abilityType: AbilityType, stateType: AbilityState,callback: AsyncCallback<Array>): void

查询辅助应用列表。

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

  • 参数:

    参数名参数类型必填说明
    abilityType[AbilityType]辅助应用的类型。
    stateType[AbilityState]辅助应用的状态。
    callbackAsyncCallback<Array<[AccessibilityAbilityInfo]>>回调函数,返回辅助应用信息列表。
  • 示例

    accessibility.getAbilityLists("visual", "enable", (err, data) => {
        if (err) {
            console.error('failed to getAbilityList2 because ' + JSON.stringify(err));
            return;
        }
        console.info('success data:getAbilityList2 : ' + JSON.stringify(data));
        for (let item of data) {
            console.info(item.id);
            console.info(item.name);
            console.info(item.description);
            console.info(item.abilityTypes);
            console.info(item.eventTypes);
            console.info(item.capabilities);
            console.info(item.packageName);
            console.info(item.filterBundleNames);
            console.info(item.bundleName);
        }
    })
    

accessibility.getCaptionsManager8+

getCaptionsManager(): CaptionsManager

获取无障碍字幕配置。

系统能力:SystemCapability.Barrierfree.Accessibility.Hearing

  • 返回值:

    类型说明
    [CaptionsManager]无障碍字幕配置管理。
  • 示例

    captionsManager = accessibility.getCaptionsManager()
    

accessibility.on(‘accessibilityStateChange’ | ‘touchGuideStateChange’)

on(type: ‘accessibilityStateChange’ | ‘touchGuideStateChange’, callback: Callback): void

启用辅助应用和触摸浏览功能的状态变化监听。

系统能力:以下各项对应的系统能力有所不同,详见下表。

  • 参数:

    参数名参数类型必填说明
    typestring监听的事件类型。 - type 为’accessibilityStateChange’时表示监听类型为辅助功能启用状态变化监听; 系统能力:SystemCapability.Barrierfree.Accessibility.Core - type 为’touchGuideStateChange’时表示监听类型为触摸浏览启用状态变化监听。 系统能力:SystemCapability.Barrierfree.Accessibility.Vision
    callbackCallback回调函数,在启用状态变化时将状态通过此函数进行通知。
  • 示例

    accessibility.on('accessibilityStateChange',(data) => { 
        console.info('success data:subscribeStateObserver : ' + JSON.stringify(data))
    })
    

accessibility.off(‘accessibilityStateChange’ | ‘touchGuideStateChange’)

off(type: ‘accessibilityStateChange ’ | ‘touchGuideStateChange’, callback?: Callback): void

关闭辅助应用和触摸浏览功能的状态变化监听。

系统能力:以下各项对应的系统能力有所不同,详见下表。

  • 参数:

    参数名参数类型必填说明
    typestring监听的事件类型。 - type 为’accessibilityStateChange’时表示监听类型为辅助功能启用状态变化监听; 系统能力:SystemCapability.Barrierfree.Accessibility.Core - type 为’touchGuideStateChange’时表示监听类型为触摸浏览启用状态变化监听。 系统能力:SystemCapability.Barrierfree.Accessibility.Vision
    callbackCallback要取消的监听回调函数。
  • 示例

    accessibility.off('accessibilityStateChange',(data) => {
        console.info('success data:unSubscribeStateObserver : ' + JSON.stringify(data))
    })
    

accessibility.isOpenAccessibility

isOpenAccessibility(): Promise

判断是否启用了辅助功能。

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

  • 返回值:

    类型说明
    Promise如果辅助功能已启用,则返回 true;否则返回 false。
  • 示例

    accessibility.isOpenAccessibility()
        .then((data) => {
            console.info('success data:isOpenAccessibility : ' + JSON.stringify(data))
        }).catch((error) => {
            console.error('failed to  isOpenAccessibility because ' + JSON.stringify(error));
        })
    

accessibility.isOpenAccessibility

isOpenAccessibility(callback: AsyncCallback): void

判断是否启用了辅助功能。

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

  • 参数

    参数名参数类型必填说明
    callbackAsyncCallback回调函数,如果辅助功能已启用,则返回 true;否则返回 false。
  • 示例

    accessibility.isOpenAccessibility((err, data) => {
        if (err) {
            console.error('failed to isOpenAccessibility because ' + JSON.stringify(err));
            return;
        }
        console.info('success data:isOpenAccessibility : ' + JSON.stringify(data))
    })
    

accessibility.isOpenTouchGuide

isOpenTouchGuide(): Promise

判断触摸浏览模式是否开启。

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

  • 返回值:

    类型说明
    Promise如果触摸浏览模式已开启,则返回 true;否则返回 false。
  • 示例

    accessibility.isOpenTouchGuide()
        .then((data) => {
            console.info('success data:isOpenTouchGuide : ' + JSON.stringify(data))
        }).catch((error) => {
            console.error('failed to  isOpenTouchGuide because ' + JSON.stringify(error));
        })
    

accessibility.isOpenTouchGuide

isOpenTouchGuide(callback: AsyncCallback): void

判断触摸浏览模式是否开启。

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

  • 参数

    参数名参数类型必填说明
    callbackAsyncCallback回调函数,如果触摸浏览模式已开启,则返回 true;否则返回 false。
  • 示例

    accessibility.isOpenTouchGuide((err, data) => {
        if (err) {
            console.error('failed to isOpenTouchGuide because ' + JSON.stringify(err));
            return;
        }
        console.info('success data:isOpenTouchGuide : ' + JSON.stringify(data))
    })
    

accessibility.sendEvent

sendEvent(event: EventInfo): Promise

发送无障碍事件。

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

  • 参数:

    参数名参数类型必填说明
    event[EventInfo]无障碍事件对象。
  • 返回值:

    类型说明
    Promise以 Promise 形式返回结果,如果发送无障碍事件成功,则 data 有数据返回;如果发送无障碍事件失败,则 err 有数据返回。
  • 示例

    accessibility.sendEvent(this.eventInfo)
        .then((data) => {
            console.info('success data:sendEvent : ' + JSON.stringify(data))
        }).catch((error) => {
            console.error('failed to  sendEvent because ' + JSON.stringify(error));
        })
    

accessibility.sendEvent

sendEvent(event: EventInfo, callback: AsyncCallback): void

发送无障碍事件。

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

  • 参数:

    参数名参数类型必填说明
    event[EventInfo]辅助事件对象。
    callbackAsyncCallback回调函数,如果发送无障碍事件成功,则 AsyncCallback 中 data 有数据返回;如果发送无障碍事件失败,则 AsyncCallback 中 err 有数据返回。
  • 示例

    accessibility.sendEvent(this.eventInfo,(err, data) => {
        if (err) {
            console.error('failed to sendEvent because ' + JSON.stringify(err));
            return;
        }   
        console.info('success data:sendEvent : ' + JSON.stringify(data))
    })
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/730925.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

前瞻展望,中国信通院即将发布“2024云计算十大关键词”

人类对于未知领域的探索欲望&#xff0c;似乎总是无穷无尽&#xff0c;而探索欲反过来推动了技术的革新与进步。今年以来&#xff0c;AI大模型成为科技领域最为确定的趋势之一。在大模型开启的AI原生时代&#xff0c;AI原生正在重构云计算的演化逻辑和发展走向&#xff0c;MaaS…

rknn转换后精度差异很大,失真算子自纠

下面是添加了详细注释的优化代码&#xff1a; import cv2 import numpy as np import onnx import onnxruntime as rt from onnx import helper, shape_inferencedef get_all_node_names(model):"""获取模型中所有节点的名称。参数:model (onnx.ModelProto): O…

如何正确理解和评估品牌价值?

在当今这个品牌林立的商业世界里&#xff0c;我们常常听到企业家们满怀憧憬地谈论品牌梦想。 但究竟是什么驱使这些企业去打造一个品牌&#xff0c;到底是市场的激烈竞争&#xff0c;还是内心的情感寄托&#xff1f;亦或是社会发展的必然趋势&#xff0c;引领我们追求超越产品…

【shell脚本速成】函数

文章目录 一、函数1.1、函数介绍1.2、函数定义1.3、函数调用 &#x1f308;你好呀&#xff01;我是 山顶风景独好 &#x1f388;欢迎踏入我的博客世界&#xff0c;能与您在此邂逅&#xff0c;真是缘分使然&#xff01;&#x1f60a; &#x1f338;愿您在此停留的每一刻&#xf…

Java用文件流mask文本文件某些特定字段

思路 在Java中&#xff0c;如果你想要掩码&#xff08;mask&#xff09;文本文件中的某些特定字段&#xff0c;你可以按照以下步骤进行&#xff1a; 读取文本文件内容。找到并识别需要掩码的字段。用特定的掩码字符&#xff08;如星号*&#xff09;替换这些字段。将修改后的内…

Kubernates容器化JVM调优笔记(内存篇)

Kubernates容器化JVM调优笔记&#xff08;内存篇&#xff09; 先说结论背景思路方案 先说结论 1、首先如果是JDK8&#xff0c;需要使用JDK8_191版本以上&#xff0c;才支持容器化环境和以下参数&#xff0c;否则就更新到JDK10以上&#xff0c;选择对应的镜像构建就行了 2、在容…

cd 命令特殊路径符 mkdir命令

cd 特殊路径符 cd . 表示当前目录&#xff0c;比如 cd ./Desktop表示切换到当前目录下的Desktop目录内&#xff0c;和 cd Desktop效果一致。cd … 表示上一级目录&#xff0c;比如 cd … 即可切换到上一级目录&#xff0c;cd…/…切换到上二级目录。cd ~ 表示 HOME 目录&#…

【自动驾驶】运动底盘状态数据:里程计、IMU、运动学分析、串口通信协议

文章目录 控制器与运动底盘状态数据:里程计、IMU运动学分析与轮子运动学分析公式串口通信控制与反馈通讯协议串口通信反馈上行数据帧解析串口通信控制下行数据帧解析代码实现IMU、里程计数据的获取、解析、计算控制器与运动底盘状态数据:里程计、IMU 控制器需要负责外发底盘…

智慧园区解决方案PPT(53页)

## 1.1 智慧园区背景及需求分析 - 智慧园区的发展历程包括园区规划、经济、产业、企业、管理、理念的转变&#xff0c;强调管理模式创新&#xff0c;关注业务综合化、管理智慧化等发展。 ## 1.2 国家对智慧园区发展的政策 - 涉及多个国家部门&#xff0c;如工信部、住建部、…

【机器学习300问】129、RNN如何在情感分析任务中起作用的?

情感分析是自然语言处理&#xff08;NLP&#xff09;领域的一个重要分支&#xff0c;它的目标是自动检测和提取出非结构化文本数据中的主观信息&#xff08;比如&#xff1a;情绪、意见、评价等&#xff09; 一、情感分析任务案例 分析电商产品评论的情感倾向&#xff08;三分类…

OS复习笔记ch11-4

磁盘调度 磁盘的物理结构 经典的温彻斯特盘 其中的几个概念&#xff1a; 盘面&#xff1a;可以看成是一个操场的平面&#xff0c;不同的盘面通过中间的轴串在一起磁道&#xff1a;磁道可以看成是操场的跑道&#xff0c;我们知道操场上有外道和内道&#xff0c;最内道中间往…

homework 2024.06.17 math, UI

A的宽度225 B的宽度150 这样画出来就比较标准&#xff0c; 225 * 2 150 * 3 2A 3B

ASP.NET Core 6.0 多种部署方式

IIS 环境准备和部署 安装并配置 IIS 安装 IIS&#xff0c;在搜索输入并打开 启用或关闭 Windows 功能。 配置IIS 需要配置 ASPNETCore 部署IS 程序包安装 &#xff08;ASP.NET Core Module v2&#xff09; Download .NET 6.0 (Linux, macOS, and Windows).NET 6.0 downloads…

搭建一个简单的xxljob

数据库表结构&#xff1a; YyJobInfo&#xff1a; public class YyJobInfo {//定时任务idprivate int id;//该定时任务所属的执行器的idprivate int jobGroup;//定时任务描述private String jobDesc;//定时任务添加的时间private Date addTime;//定时任务的更新时间private D…

TIM: A Time Interval Machine for Audio-Visual Action Recognition

标题&#xff1a;TIM&#xff1a;一种用于视听动作识别的时间间隔机器 源文链接&#xff1a;openaccess.thecvf.com/content/CVPR2024/papers/Chalk_TIM_A_Time_Interval_Machine_for_Audio-Visual_Action_Recognition_CVPR_2024_paper.pdfhttps://openaccess.thecvf.com/cont…

Redis 持久化策略

Redis 提供了多种持久化机制&#xff0c;用于将数据保存到磁盘中&#xff0c;以防止因服务器重启或故障而导致的数据丢失。主要的持久化策略有两种&#xff1a;RDB (Redis Database) 和 AOF (Append Only File)&#xff0c;即当 Redis 服务器重新启动时&#xff0c;会读取相应的…

SEGGER Embedded Studio IDE移植embOS

SEGGER Embedded Studio IDE移植embOS 一、背景介绍二、任务目标三、技术实现3.1 获得embOS3.2 创建SES工程3.2.1 创建初始Solution和Project3.2.2 制作项目文件结构3.2.3 移植embOS库和有关头文件3.2.3.1 头文件3.2.3.2 库文件3.2.3.3 创建RTOSInit.c源文件3.2.3.4 OS_Error.c…

鸿蒙HarmonyOS NEXT角落里的知识:ArkTS高性能编程实践

概述 本文主要提供应用性能敏感场景下的高性能编程的相关建议&#xff0c;助力开发者开发出高性能的应用。高性能编程实践&#xff0c;是在开发过程中逐步总结出来的一些高性能的写法和建议&#xff0c;在业务功能实现过程中&#xff0c;我们要同步思考并理解高性能写法的原理…

信息学奥赛初赛天天练-31-CSP-J2022基础题-指针、数组、链表、进制转换、深度优先搜索、广度优先搜索、双栈实现队列应用

PDF文档公众号回复关键字:20240621 2022 CSP-J 选择题 单项选择题&#xff08;共15题&#xff0c;每题2分&#xff0c;共计30分&#xff1a;每题有且仅有一个正确选项&#xff09; 3.运行以下代码片段的行为是 ( ) int x 101; int y 201; int * p &x; int * q &y;…

【Java】已解决java.net.ProtocolException异常

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决java.net.ProtocolException异常 在Java的网络编程中&#xff0c;java.net.ProtocolException异常通常表示在网络通信过程中&#xff0c;客户端或服务器违反了某种协议规则。…