輔助功能擴(kuò)展能力

2024-01-23 17:16 更新

AccessibilityExtensionAbility基于ExtensionAbility框架,提供輔助功能業(yè)務(wù)的能力。

說(shuō)明

本模塊首批接口從API version 9開始支持,后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。

導(dǎo)入模塊

  1. import AccessibilityExtensionAbility from '@ohos.application.AccessibilityExtensionAbility';

屬性

系統(tǒng)能力: SystemCapability.BarrierFree.Accessibility.Core

名稱

類型

可讀

可寫

說(shuō)明

context

AccessibilityExtensionContext

表示輔助擴(kuò)展能力上下文。

AccessibilityEvent

輔助事件信息。

系統(tǒng)能力:以下各項(xiàng)對(duì)應(yīng)的系統(tǒng)能力均為 SystemCapability.BarrierFree.Accessibility.Core

屬性

名稱

類型

可讀

可寫

說(shuō)明

eventType

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

具體事件類型。

EventType :無(wú)障礙事件類型;WindowUpdateType:窗口變化類型;

TouchGuideType:觸摸瀏覽類型;

GestureType:手勢(shì)事件類型;

PageUpdateType:頁(yè)面刷新類型;當(dāng)前版本暫不支持。

target

AccessibilityElement

發(fā)生事件的目標(biāo)組件。

timeStamp

number

事件時(shí)間戳。

GestureType

手勢(shì)事件類型;當(dāng)前版本暫不支持。

系統(tǒng)能力:以下各項(xiàng)對(duì)應(yīng)的系統(tǒng)能力均為 SystemCapability.BarrierFree.Accessibility.Core

名稱

描述

left

類型為字符串,表示向左的手勢(shì)。

leftThenRight

類型為字符串,表示先向左再向右的手勢(shì)。

leftThenUp

類型為字符串,表示先向左再向上的手勢(shì)。

leftThenDown

類型為字符串,表示先向左再向下的手勢(shì)。

right

類型為字符串,表示向右的手勢(shì)。

rightThenLeft

類型為字符串,表示先向右再向左的手勢(shì)。

rightThenUp

類型為字符串,表示先向右再向上的手勢(shì)。

rightThenDown

類型為字符串,表示先向右再向下的手勢(shì)。

up

類型為字符串,表示向上的手勢(shì)。

upThenLeft

類型為字符串,表示先向上再向左的手勢(shì)。

upThenRight

類型為字符串,表示先向上再向右的手勢(shì)。

upThenDown

類型為字符串,表示先向上再向下的手勢(shì)。

down

類型為字符串,表示向下的手勢(shì)。

downThenLeft

類型為字符串,表示先向下再向左的手勢(shì)。

downThenRight

類型為字符串,表示先向下再向右的手勢(shì)。

downThenUp

類型為字符串,表示先向下再向上的手勢(shì)。

PageUpdateType

頁(yè)面刷新類型;當(dāng)前版本暫不支持。

系統(tǒng)能力:以下各項(xiàng)對(duì)應(yīng)的系統(tǒng)能力均為 SystemCapability.BarrierFree.Accessibility.Core

名稱

描述

pageContentUpdate

類型為字符串,表示頁(yè)面內(nèi)容刷新。

pageStateUpdate

類型為字符串,表示頁(yè)面狀態(tài)刷新。

TouchGuideType

觸摸瀏覽事件類型。

系統(tǒng)能力:以下各項(xiàng)對(duì)應(yīng)的系統(tǒng)能力均為 SystemCapability.BarrierFree.Accessibility.Core

名稱

描述

touchBegin

類型為字符串,表示觸摸瀏覽時(shí)開始觸摸。

touchEnd

類型為字符串,表示觸摸瀏覽時(shí)結(jié)束觸摸。

AccessibilityExtensionAbility.onConnect

onConnect(): void;

用戶啟用AccessibilityExtensionAbility時(shí),系統(tǒng)服務(wù)完成連接后,回調(diào)此接口,可以該方法中執(zhí)行初始化業(yè)務(wù)邏輯操作。該方法可以選擇性重寫。

系統(tǒng)能力: SystemCapability.BarrierFree.Accessibility.Core

示例:

  1. class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility {
  2. onConnect() {
  3. console.log('AxExtensionAbility onConnect');
  4. }
  5. };

AccessibilityExtensionAbility.onDisconnect

onDisconnect(): void;

用戶停用AccessibilityExtensionAbility時(shí),系統(tǒng)服務(wù)完成斷開連接后,回調(diào)此接口,可以該方法中執(zhí)行資源回收退出業(yè)務(wù)邏輯操作。該方法可以選擇性重寫。

系統(tǒng)能力: SystemCapability.BarrierFree.Accessibility.Core

示例:

  1. class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility {
  2. onDisconnect() {
  3. console.log('AxExtensionAbility onDisconnect');
  4. }
  5. };

AccessibilityExtensionAbility.onAccessibilityEvent

onAccessibilityEvent(event: AccessibilityEvent): void;

在關(guān)注的應(yīng)用及事件類型對(duì)應(yīng)的事件發(fā)生時(shí)回調(diào)此接口,可以在該方法中根據(jù)事件信息進(jìn)行業(yè)務(wù)邏輯處理。一般情況下需要重寫該方法完成業(yè)務(wù)。

系統(tǒng)能力: SystemCapability.BarrierFree.Accessibility.Core

參數(shù):

參數(shù)名

類型

必填

說(shuō)明

event

AccessibilityEvent

無(wú)障礙事件回調(diào)函數(shù)。無(wú)返回值。

AccessibilityEvent中同時(shí)設(shè)置了EventTypeWindowUpdateType,則優(yōu)先生效WindowUpdateType

示例:

  1. class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility {
  2. onAccessibilityEvent(event) {
  3. console.log('AxExtensionAbility onAccessibilityEvent');
  4. if (event.eventType === 'click') {
  5. console.log('AxExtensionAbility onAccessibilityEvent: click');
  6. }
  7. }
  8. };

AccessibilityExtensionAbility.onKeyEvent

onKeyEvent(keyEvent: KeyEvent): boolean;

在物理按鍵按下時(shí)回調(diào)此方法,可以在該方法中根據(jù)業(yè)務(wù)判斷是否對(duì)事件進(jìn)行攔截。

系統(tǒng)能力: SystemCapability.BarrierFree.Accessibility.Core

參數(shù):

參數(shù)名

類型

必填

說(shuō)明

keyEvent

KeyEvent

按鍵事件回調(diào)函數(shù)。返回true表示攔截此按鍵。

示例:

  1. class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility {
  2. onKeyEvent(keyEvent) {
  3. console.log('AxExtensionAbility onKeyEvent');
  4. if (keyEvent.keyCode === 22) {
  5. console.log('AxExtensionAbility onKeyEvent: intercept 22');
  6. return true;
  7. }
  8. return false;
  9. }
  10. };
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)