# AccessibilityExtensionContext AccessibilityExtensionContext是AccessibilityExtensionAbility上下文环境,继承自ExtensionContext。 AccessibilityExtensionContext模块提供扩展的上下文的能力,包括允许配置辅助应用关注信息类型、查询节点信息、手势注入等。 > **说明:** > > 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 > 本模块接口仅可在Stage模型下使用。 ## 导入模块 ```js import AccessibilityExtensionAbility from '@ohos.application.AccessibilityExtensionAbility' ``` ## FocusDirection 表示查询下一焦点元素的方向。 **系统能力**:以下各项对应的系统能力均为 SystemCapability.Barrierfree.Accessibility.Core | 名称 | 描述 | | -------- | ------- | | up | 表示向上查询。 | | down | 表示向上查询。 | | left | 表示向左查询。 | | right | 表示向右查询。 | | forward | 表示向前查询。 | | backward | 表示向后查询。 | ## FocusType 表示查询焦点元素的类型。 **系统能力**:以下各项对应的系统能力均为 SystemCapability.Barrierfree.Accessibility.Core | 名称 | 描述 | | ------------- | ----------- | | accessibility | 表示无障碍的焦点类型。 | | normal | 表示普通的焦点类型。 | ## Rect 表示矩形区域。 **系统能力**:以下各项对应的系统能力均为 SystemCapability.Barrierfree.Accessibility.Core ### 参数 | 名称 | 参数类型 | 可读 | 可写 | 说明 | | ------ | ------ | ---- | ---- | --------- | | left | number | 是 | 否 | 矩形区域的左边界。 | | top | number | 是 | 否 | 矩形区域的上边界。 | | width | number | 是 | 否 | 矩形区域的宽度。 | | height | number | 是 | 否 | 矩形区域的高度。 | ## WindowType 表示窗口的类型。 **系统能力**:以下各项对应的系统能力均为 SystemCapability.Barrierfree.Accessibility.Core | 名称 | 描述 | | ----------- | --------- | | application | 表示应用窗口类型。 | | system | 表示系统窗口类型。 | ## AccessibilityExtensionContext.setEventTypeFilter setEventTypeFilter(type: Array): Promise\; 设置关注的事件类型。 **系统能力:** SystemCapability.BarrierFree.Accessibility.Core **参数:** | 参数名 | 参数类型 | 必填 | 说明 | | ---- | ---------------------------------------- | ---- | -------- | | type | Array<[EventType](js-apis-accessibility.md#EventType)> | 是 | 关注的事件类型。 | **返回值:** | 类型 | 说明 | | ---------------------- | --------------------- | | Promise<boolean> | Promise对象。返回当前设置是否成功。 | **示例:** ```ts this.context.setEventTypeFilter(['click', 'longClick']); ``` ## AccessibilityExtensionContext.setTargetBundleName setTargetBundleName(targetNames: Array\): Promise\; 设置关注的事件类型。 **系统能力:** SystemCapability.BarrierFree.Accessibility.Core **参数:** | 参数名 | 参数类型 | 必填 | 说明 | | ----------- | ------------------- | ---- | -------- | | targetNames | Array<string> | 是 | 关注的目标包名。 | **返回值:** | 类型 | 说明 | | ---------------------- | --------------------- | | Promise<boolean> | Promise对象。返回当前设置是否成功。 | **示例:** ```ts this.context.setTargetBundleName(['com.ohos.mms']); ``` ## AccessibilityExtensionContext.getFocusElement getFocusElement(isAccessibilityFocus?: boolean): Promise\; 获取焦点元素。 **系统能力:** SystemCapability.BarrierFree.Accessibility.Core **参数:** | 参数名 | 参数类型 | 必填 | 说明 | | -------------------- | ------- | ---- | ------------------- | | isAccessibilityFocus | boolean | 否 | 获取的是否是无障碍焦点元素,默认为否。 | **返回值:** | 类型 | 说明 | | ----------------------------------- | ---------------------- | | Promise<AccessibilityElement> | Promise对象。返回当前对应的焦点元素。 | **示例:** ```ts this.context.getFocusElement().then(focusElement => { console.log("AxExtensionAbility getFocusElement success"); }) ``` ## AccessibilityExtensionContext.getWindowRootElement getWindowRootElement(windowId?: number): Promise\; 获取窗口的根节点元素。 **系统能力:** SystemCapability.BarrierFree.Accessibility.Core **参数:** | 参数名 | 参数类型 | 必填 | 说明 | | -------- | ------ | ---- | --------------------------- | | windowId | number | 否 | 指定获取根节点元素的窗口,未指定则从当前活跃窗口获取。 | **返回值:** | 类型 | 说明 | | ----------------------------------- | ----------------------- | | Promise<AccessibilityElement> | Promise对象。返回当前对应的根节点元素。 | **示例:** ```ts this.context.getWindowRootElement().then(rootElement => { console.log("AxExtensionAbility getWindowRootElement success"); }) ``` ## AccessibilityExtensionContext.getWindows getWindows(displayId?: number): Promise>; 获取用户可见的窗口列表。 **系统能力:** SystemCapability.BarrierFree.Accessibility.Core **参数:** | 参数名 | 参数类型 | 必填 | 说明 | | --------- | ------ | ---- | ------------------------- | | displayId | number | 否 | 指定获取窗口信息的屏幕,未指定则从默认主屏幕获取。 | **返回值:** | 类型 | 说明 | | ---------------------------------------- | ------------------------ | | Promise<Array<AccessibilityElement>> | Promise对象。返回当前对应的窗口列表信息。 | **示例:** ```ts this.context.getWindows().then(windows => { console.log("AxExtensionAbility getWindows success"); }) ``` ## AccessibilityExtensionContext.gestureInject gestureInject(gesturePath: GesturePath, listener: Callback\): Promise\ { console.info('gestureInject result: ' + result); }) ```