輔助功能
說明: 本模塊首批接口從 API version 7 開始支持。后續版本的新增接口,采用上角標單獨標記接口的起始版本。 開發前請熟悉鴻蒙開發指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]點擊或者復制轉到。
導入模塊
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
屬性
名稱 | 參數類型 | 可讀 | 可寫 | 說明 |
---|---|---|---|---|
id | number | 是 | 否 | ability id。 |
name | string | 是 | 否 | ability 名。 |
bundleName | string | 是 | 否 | 包名。 |
abilityTypes | Array<[AbilityType]> | 是 | 否 | 輔助應用類型。 |
capabilities | Array<[Capability]> | 是 | 否 | 輔助應用能力列表。 |
description | string | 是 | 否 | 輔助應用描述。 |
eventTypes | Array<[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 字體。 |
serif | Serif 字體。 |
monospacedSansSerif | 等寬 Sans Serif 字體。 |
sansSerif | Sans Serif 字體。 |
casual | 非正式字體。 |
cursive | 手寫字體。 |
smallCapitals | 小型大寫字母字體。 |
CaptionsStyle8+
字幕風格。
系統能力 :以下各項對應的系統能力均為 SystemCapability.Barrierfree.Accessibility.Hearing
名稱 | 參數類型 | 可讀 | 可寫 | 說明 |
---|---|---|---|---|
fontFamily | [CaptionsFontFamily] | 是 | 否 | 描述字幕字體。 |
fontScale | number | 是 | 否 | 描述字幕字體縮放系數。 |
fontColor | number | string | 是 | 否 |
fontEdgeType | [CaptionsFontEdgeType] | 是 | 否 | 描述字幕字體邊緣。 |
backgroundColor | number | string | 是 | 否 |
windowColor | number | string | 是 | 否 |
CaptionsManager8+
字幕配置。
屬性
名稱 | 參數類型 | 可讀 | 可寫 | 說明 |
---|---|---|---|---|
enabled | boolean | 是 | 否 | 表示是否啟用字幕配置。 |
style | [CaptionsStyle] | 是 | 否 | 表示字幕風格。 |
方法
下列 API 示例中都需要使用 [accessibility.getCaptionsManager()]獲取 captionsManager 實例,再通過此實例調用對應的方法。
on('enableChange')
on(type: 'enableChange', callback: Callback): void;
注冊字幕配置啟用的監聽函數。
系統能力 :SystemCapability.Barrierfree.Accessibility.Hearing
參數:
參數名 參數類型 必填 說明 type string 是 監聽字幕配置啟用狀態。 callback Callback 是 回調函數,在啟用狀態變化時將狀態通過此函數進行通知。 示例
captionsManager.on('enableChange',(data) = > { console.info('success data:subscribeStateObserver : ' + JSON.stringify(data)) })
on('styleChange')
on(type: 'styleChange', callback: Callback): void;
注冊字幕風格變化的監聽函數。
系統能力 :SystemCapability.Barrierfree.Accessibility.Hearing
參數:
參數名 參數類型 必填 說明 type string 是 監聽字幕風格變化。 callback Callback<[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
參數:
參數名 參數類型 必填 說明 type string 是 監聽字幕配置啟用狀態。 callback Callback 否 回調函數,在啟用狀態變化時將狀態通過此函數進行通知。 示例
captionsManager.off('enableChange')
off('styleChange')
off(type: 'styleChange', callback?: Callback): void;
移除字幕風格變化的監聽函數。
系統能力 :SystemCapability.Barrierfree.Accessibility.Hearing
參數:
參數名 參數類型 必填 說明 type string 是 字幕風格變化。 callback Callback<[CaptionsStyle]> 否 回調函數,在字幕風格變化時通過此函數進行通知。 示例
captionsManager.off('styleChange')
EventInfo
界面變更事件。
系統能力 :以下各項對應的系統能力均為 SystemCapability.Barrierfree.Accessibility.Core
屬性
名稱 | 參數類型 | 可讀 | 可寫 | 說明 |
---|---|---|---|---|
type | [EventType] | 是 | 是 | 無障礙事件類型。 |
windowUpdateType | [WindowUpdateType] | 是 | 是 | 窗口變化類型。 |
bundleName | string | 是 | 是 | 目標應用名。 |
componentType | string | 是 | 是 | 事件源組件類型,如按鈕、圖表。 |
pageId | number | 是 | 是 | 事件源的頁面 ID。 |
description | string | 是 | 是 | 事件描述。 |
triggerAction | [Action] | 是 | 是 | 觸發事件的 Action。 |
textMoveUnit | [TextMoveUnit] | 是 | 是 | 文本移動粒度。 |
contents | Array | 是 | 是 | 內容列表。 |
lastContent | string | 是 | 是 | 最新內容。 |
beginIndex | number | 是 | 是 | 畫面顯示條目的開始序號。 |
currentIndex | number | 是 | 是 | 當前條目序號。 |
endIndex | number | 是 | 是 | 畫面顯示條目的結束序號。 |
itemCount | number | 是 | 是 | 條目總數。 |
方法
constructor
constructor(jsonObject)
構造函數。
參數:
參數名 參數類型 必填 說明 jsonObject string 是 創建對象所需要的 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>
查詢輔助應用列表。
系統能力 :SystemCapability.Barrierfree.Accessibility.Core
參數:
參數名 參數類型 必填 說明 abilityType [AbilityType] 是 輔助應用的類型。 stateType [AbilityState] 是 輔助應用的狀態。 返回值:
類型 說明 Promise> 返回輔助應用信息列表。 示例
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>): void
查詢輔助應用列表。
系統能力 :SystemCapability.Barrierfree.Accessibility.Core
參數:
參數名 參數類型 必填 說明 abilityType [AbilityType] 是 輔助應用的類型。 stateType [AbilityState] 是 輔助應用的狀態。 callback AsyncCallback> 是 回調函數,返回輔助應用信息列表。 示例
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
啟用輔助應用和觸摸瀏覽功能的狀態變化監聽。
系統能力 :以下各項對應的系統能力有所不同,詳見下表。
參數:
參數名 參數類型 必填 說明 type string 是 監聽的事件類型。 - type 為'accessibilityStateChange'時表示監聽類型為輔助功能啟用狀態變化監聽; 系統能力 :SystemCapability.Barrierfree.Accessibility.Core - type 為'touchGuideStateChange'時表示監聽類型為觸摸瀏覽啟用狀態變化監聽。 系統能力 :SystemCapability.Barrierfree.Accessibility.Vision callback Callback 是 回調函數,在啟用狀態變化時將狀態通過此函數進行通知。 示例
accessibility.on('accessibilityStateChange',(data) = > { console.info('success data:subscribeStateObserver : ' + JSON.stringify(data)) })
accessibility.off('accessibilityStateChange' | 'touchGuideStateChange')
off(type: ‘accessibilityStateChange ’ | ‘touchGuideStateChange’, callback?: Callback): void
關閉輔助應用和觸摸瀏覽功能的狀態變化監聽。
系統能力 :以下各項對應的系統能力有所不同,詳見下表。
參數:
參數名 參數類型 必填 說明 type string 否 監聽的事件類型。 - type 為'accessibilityStateChange'時表示監聽類型為輔助功能啟用狀態變化監聽; 系統能力 :SystemCapability.Barrierfree.Accessibility.Core - type 為'touchGuideStateChange'時表示監聽類型為觸摸瀏覽啟用狀態變化監聽。 系統能力 :SystemCapability.Barrierfree.Accessibility.Vision callback Callback 否 要取消的監聽回調函數。 示例
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
參數
參數名 參數類型 必填 說明 callback AsyncCallback 是 回調函數,如果輔助功能已啟用,則返回 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
參數
參數名 參數類型 必填 說明 callback AsyncCallback 是 回調函數,如果觸摸瀏覽模式已開啟,則返回 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] 是 輔助事件對象。 callback AsyncCallback 是 回調函數,如果發送無障礙事件成功,則 AsyncCallback 中 data 有數據返回;如果發送無障礙事件失敗,則 AsyncCallback 中 err 有數據返回。 HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿
示例
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)) })
-
接口
+關注
關注
33文章
8645瀏覽量
151399 -
API
+關注
關注
2文章
1505瀏覽量
62170 -
開發系統
+關注
關注
0文章
38瀏覽量
9688 -
鴻蒙
+關注
關注
57文章
2370瀏覽量
42905
發布評論請先 登錄
相關推薦
評論