辅助功能扩展上下文

2024-01-23 17:32 更新

AccessibilityExtensionContext是AccessibilityExtensionAbility上下文环境,继承自ExtensionContext。

辅助功能扩展上下文模块提供辅助功能扩展的上下文环境的能力,包括允许配置辅助应用关注信息类型、查询节点信息、手势注入等。

说明

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

本模块接口仅可在Stage模型下使用。

使用说明

在使用AccessibilityExtensionContext的功能前,需要通过AccessibilityExtensionAbility子类实例获取AccessibilityExtensionContex的实例。

  1. import AccessibilityExtensionAbility from '@ohos.application.AccessibilityExtensionAbility';
  2. let axContext;
  3. class MainAbility extends AccessibilityExtensionAbility {
  4. onConnect(): void {
  5. console.log('AxExtensionAbility onConnect');
  6. axContext = this.context;
  7. }
  8. }

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.setTargetBundleName

setTargetBundleName(targetNames: Array<string>): Promise<void>;

设置关注的目标包名,使用Promise异步回调。

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

参数:

参数名

类型

必填

说明

targetNames

Array<string>

关注的目标包名。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

示例:

  1. let targetNames = ['com.ohos.xyz'];
  2. try {
  3. axContext.setTargetBundleName(targetNames).then(() => {
  4. console.info('set target bundle names success');
  5. }).catch((err) => {
  6. console.error('failed to set target bundle names, because ' + JSON.stringify(err));
  7. });
  8. } catch (exception) {
  9. console.error('failed to set target bundle names, because ' + JSON.stringify(exception));
  10. };

AccessibilityExtensionContext.setTargetBundleName

setTargetBundleName(targetNames: Array<string>, callback: AsyncCallback<void>): void;

设置关注的目标包名,使用callback异步回调。

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

参数:

参数名

类型

必填

说明

targetNames

Array<string>

关注的目标包名。

callback

AsyncCallback<void>

回调函数,如果设置关注的目标包名失败,则AsyncCallback中err有数据返回。

示例:

  1. let targetNames = ['com.ohos.xyz'];
  2. try {
  3. axContext.setTargetBundleName(targetNames, (err, data) => {
  4. if (err && err.code) {
  5. console.error('failed to set target bundle names, because ' + JSON.stringify(err));
  6. return;
  7. }
  8. console.info('set target bundle names success');
  9. });
  10. } catch (exception) {
  11. console.error('failed to set target bundle names, because ' + JSON.stringify(exception));
  12. };

AccessibilityExtensionContext.getFocusElement

getFocusElement(isAccessibilityFocus?: boolean): Promise<AccessibilityElement>;

获取焦点元素, 使用Promise异步回调。

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

参数:

参数名

类型

必填

说明

isAccessibilityFocus

boolean

获取的是否是无障碍焦点元素,默认为否。

返回值:

类型

说明

Promise<AccessibilityElement>

Promise对象,返回当前对应的焦点元素。

错误码:

以下错误码的详细介绍请参见无障碍子系统错误码

错误码ID

错误信息

9300003

Do not have accessibility right for this operation.

示例:

  1. let focusElement;
  2. try {
  3. axContext.getFocusElement().then((data) => {
  4. focusElement = data;
  5. console.log('get focus element success');
  6. }).catch((err) => {
  7. console.error('failed to get focus element, because ' + JSON.stringify(err));
  8. });
  9. } catch (exception) {
  10. console.error('failed to get focus element, because ' + JSON.stringify(exception));
  11. }

AccessibilityExtensionContext.getFocusElement

getFocusElement(callback: AsyncCallback<AccessibilityElement>): void;

获取焦点元素, 使用callback异步回调。

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

参数:

参数名

类型

必填

说明

callback

AsyncCallback<AccessibilityElement>

回调函数,返回当前对应的焦点元素。

错误码:

以下错误码的详细介绍请参见无障碍子系统错误码

错误码ID

错误信息

9300003

Do not have accessibility right for this operation.

示例:

  1. let focusElement;
  2. try {
  3. axContext.getFocusElement((err, data) => {
  4. if (err && err.code) {
  5. console.error('failed to get focus element, because ' + JSON.stringify(err));
  6. return;
  7. }
  8. focusElement = data;
  9. console.info('get focus element success');
  10. });
  11. } catch (exception) {
  12. console.error('failed to get focus element, because ' + JSON.stringify(exception));
  13. }

AccessibilityExtensionContext.getFocusElement

getFocusElement(isAccessibilityFocus: boolean, callback: AsyncCallback<AccessibilityElement>): void;

获取焦点元素, 使用callback异步回调。

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

参数:

参数名

类型

必填

说明

isAccessibilityFocus

boolean

获取的是否是无障碍焦点元素。

callback

AsyncCallback<AccessibilityElement>

回调函数,返回当前对应的焦点元素。

示例:

  1. let focusElement;
  2. let isAccessibilityFocus = true;
  3. try {
  4. axContext.getFocusElement(isAccessibilityFocus, (err, data) => {
  5. if (err && err.code) {
  6. console.error('failed to get focus element, because ' + JSON.stringify(err));
  7. return;
  8. }
  9. focusElement = data;
  10. console.info('get focus element success');
  11. });
  12. } catch (exception) {
  13. console.error('failed to get focus element, because ' + JSON.stringify(exception));
  14. }

AccessibilityExtensionContext.getWindowRootElement

getWindowRootElement(windowId?: number): Promise<AccessibilityElement>;

获取指定窗口的根节点元素, 使用Promise异步回调。

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

参数:

参数名

类型

必填

说明

windowId

number

指定窗口的编号,未指定则从当前活跃窗口获取。

返回值:

类型

说明

Promise<AccessibilityElement>

Promise对象,返回指定屏幕的所有窗口。

错误码:

以下错误码的详细介绍请参见无障碍子系统错误码

错误码ID

错误信息

9300003

Do not have accessibility right for this operation.

示例:

  1. let rootElement;
  2. try {
  3. axContext.getWindowRootElement().then((data) => {
  4. rootElement = data;
  5. console.log('get root element of the window success');
  6. }).catch((err) => {
  7. console.error('failed to get root element of the window, because ' + JSON.stringify(err));
  8. });
  9. } catch (exception) {
  10. console.error('failed to get root element of the window, ' + JSON.stringify(exception));
  11. }

AccessibilityExtensionContext.getWindowRootElement

getWindowRootElement(callback: AsyncCallback<AccessibilityElement>): void;

获取指定窗口的根节点元素, 使用callback异步回调。

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

参数:

参数名

类型

必填

说明

callback

AsyncCallback<AccessibilityElement>

回调函数,返回指定窗口的根节点元素。

错误码:

以下错误码的详细介绍请参见无障碍子系统错误码

错误码ID

错误信息

9300003

Do not have accessibility right for this operation.

示例:

  1. let rootElement;
  2. try {
  3. axContext.getWindowRootElement((err, data) => {
  4. if (err && err.code) {
  5. console.error('failed to get root element of the window, because ' + JSON.stringify(err));
  6. return;
  7. }
  8. rootElement = data;
  9. console.info('get root element of the window success');
  10. });
  11. } catch (exception) {
  12. console.error('failed to get root element of the window, because ' + JSON.stringify(exception));
  13. }

AccessibilityExtensionContext.getWindowRootElement

getWindowRootElement(windowId: number, callback: AsyncCallback<AccessibilityElement>): void;

获取指定屏幕中的所有窗口, 使用callback异步回调。

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

参数:

参数名

类型

必填

说明

windowId

number

指定窗口的编号,未指定则从当前活跃窗口获取。

callback

AsyncCallback<AccessibilityElement>

回调函数,返回指定窗口的根节点元素。

错误码:

以下错误码的详细介绍请参见无障碍子系统错误码

错误码ID

错误信息

9300003

Do not have accessibility right for this operation.

示例:

  1. let rootElement;
  2. let windowId = 10;
  3. try {
  4. axContext.getWindowRootElement(windowId, (err, data) => {
  5. if (err && err.code) {
  6. console.error('failed to get root element of the window, because ' + JSON.stringify(err));
  7. return;
  8. }
  9. rootElement = data;
  10. console.info('get root element of the window success');
  11. });
  12. } catch (exception) {
  13. console.error('failed to get root element of the window, because ' + JSON.stringify(exception));
  14. }

AccessibilityExtensionContext.getWindows

getWindows(displayId?: number): Promise<Array<AccessibilityElement>>;

获取指定屏幕中的所有窗口, 使用Promise异步回调。

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

参数:

参数名

类型

必填

说明

displayId

number

指定的屏幕编号,未指定则从默认主屏幕获取。

返回值:

类型

说明

Promise<Array<AccessibilityElement>>

Promise对象,返回指定屏幕的所有窗口。

错误码:

以下错误码的详细介绍请参见无障碍子系统错误码

错误码ID

错误信息

9300003

Do not have accessibility right for this operation.

示例:

  1. let windows;
  2. try {
  3. axContext.getWindows().then((data) => {
  4. windows = data;
  5. console.log('get windows success');
  6. }).catch((err) => {
  7. console.error('failed to get windows, because ' + JSON.stringify(err));
  8. });
  9. } catch (exception) {
  10. console.error('failed to get windows, because ' + JSON.stringify(exception));
  11. }

AccessibilityExtensionContext.getWindows

getWindows(callback: AsyncCallback<Array<AccessibilityElement>>): void;

获取指定屏幕中的所有窗口, 使用callback异步回调。

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

参数:

参数名

类型

必填

说明

callback

AsyncCallback<Array<AccessibilityElement>>

回调函数,返回指定屏幕的所有窗口。

错误码:

以下错误码的详细介绍请参见无障碍子系统错误码

错误码ID

错误信息

9300003

Do not have accessibility right for this operation.

示例:

  1. let windows;
  2. try {
  3. axContext.getWindows((err, data) => {
  4. if (err && err.code) {
  5. console.error('failed to get windows, because ' + JSON.stringify(err));
  6. return;
  7. }
  8. windows = data;
  9. console.info('get windows success');
  10. });
  11. } catch (exception) {
  12. console.error('failed to get windows, because ' + JSON.stringify(exception));
  13. }

AccessibilityExtensionContext.getWindows

getWindows(displayId: number, callback: AsyncCallback<Array<AccessibilityElement>>): void;

获取指定屏幕中的所有窗口, 使用callback异步回调。

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

参数:

参数名

类型

必填

说明

displayId

number

指定的屏幕编号,未指定则从默认主屏幕获取。

callback

AsyncCallback<Array<AccessibilityElement>>

回调函数,返回指定屏幕的所有窗口。

错误码:

以下错误码的详细介绍请参见无障碍子系统错误码

错误码ID

错误信息

9300003

Do not have accessibility right for this operation.

示例:

  1. let windows;
  2. let displayId = 10;
  3. try {
  4. axContext.getWindows(displayId, (err, data) => {
  5. if (err && err.code) {
  6. console.error('failed to get windows, because ' + JSON.stringify(err));
  7. return;
  8. }
  9. windows = data;
  10. console.info('get windows success');
  11. });
  12. } catch (exception) {
  13. console.error('failed to get windows, because ' + JSON.stringify(exception));
  14. }

AccessibilityExtensionContext.injectGesture

injectGesture(gesturePath: GesturePath): Promise<void>;

注入手势,使用Promise异步回调。

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

参数:

参数名

类型

必填

说明

gesturePath

GesturePath

表示手势的路径信息。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

错误码:

以下错误码的详细介绍请参见无障碍子系统错误码

错误码ID

错误信息

9300003

Do not have accessibility right for this operation.

示例:

  1. import GesturePath from '@ohos.accessibility.GesturePath';
  2. import GesturePoint from '@ohos.accessibility.GesturePoint';
  3. let gesturePath = new GesturePath.GesturePath(100);
  4. try {
  5. for (let i = 0; i < 10; i++) {
  6. let gesturePoint = new GesturePoint.GesturePoint(100, i * 200);
  7. gesturePath.points.push(gesturePoint);
  8. }
  9. axContext.injectGesture(gesturePath).then(() => {
  10. console.info('inject gesture success');
  11. }).catch((err) => {
  12. console.error('failed to inject gesture, because ' + JSON.stringify(err));
  13. });
  14. } catch (exception) {
  15. console.error('failed to inject gesture, because ' + JSON.stringify(exception));
  16. }

AccessibilityExtensionContext.injectGesture

injectGesture(gesturePath: GesturePath, callback: AsyncCallback<void>): void

注入手势,使用callback异步回调。

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

参数:

参数名

类型

必填

说明

gesturePath

GesturePath

表示手势的路径信息。

callback

AsyncCallback<void>

回调函数,表示注入手势执行结果的回调。

错误码:

以下错误码的详细介绍请参见无障碍子系统错误码

错误码ID

错误信息

9300003

Do not have accessibility right for this operation.

示例:

  1. import GesturePath from '@ohos.accessibility.GesturePath';
  2. import GesturePoint from '@ohos.accessibility.GesturePoint';
  3. let gesturePath = new GesturePath.GesturePath(100);
  4. try {
  5. for (let i = 0; i < 10; i++) {
  6. let gesturePoint = new GesturePoint.GesturePoint(100, i * 200);
  7. gesturePath.points.push(gesturePoint);
  8. }
  9. axContext.injectGesture(gesturePath, (err, data) => {
  10. if (err && err.code) {
  11. console.error('failed to inject gesture, because ' + JSON.stringify(err));
  12. return;
  13. }
  14. console.info('inject gesture success');
  15. });
  16. } catch (exception) {
  17. console.error('failed to inject gesture, because ' + JSON.stringify(exception));
  18. }

AccessibilityElement9+

无障碍节点元素, 在调用AccessibilityElement的方法前,需要先通过AccessibilityExtensionContext.getFocusElement()或者AccessibilityExtensionContext.getWindowRootElement()获取AccessibilityElement实例。

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

attributeNames

attributeNames<T extends keyof ElementAttributeValues>(): Promise<Array<T>>;

获取节点元素的所有属性名称,使用Promise异步回调。

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

返回值:

类型

说明

Promise<Array<T>>

Promise对象,返回节点元素的所有属性名称。

示例:

  1. let rootElement;
  2. let attributeNames;
  3. rootElement.attributeNames().then((data) => {
  4. console.log('get attribute names success');
  5. attributeNames = data;
  6. }).catch((err) => {
  7. console.log('failed to get attribute names, because ' + JSON.stringify(err));
  8. });

attributeNames

attributeNames<T extends keyof ElementAttributeValues>(callback: AsyncCallback<Array<T>>): void;

获取节点元素的所有属性名称,使用callback异步回调。

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

参数:

参数名

类型

必填

说明

callback

AsyncCallback<Array<T>>

回调函数,返回节点元素的所有属性名称。

示例:

  1. let rootElement;
  2. let attributeNames;
  3. rootElement.attributeNames((err, data) => {
  4. if (err) {
  5. console.error('failed to get attribute names, because ' + JSON.stringify(err));
  6. return;
  7. }
  8. attributeNames = data;
  9. console.info('get attribute names success');
  10. });

AccessibilityElement.attributeValue

attributeValue<T extends keyof ElementAttributeValues>(attributeName: T): Promise<ElementAttributeValues[T]>;

根据属性名称获取属性值,使用Promise异步回调。

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

参数:

参数名

类型

必填

说明

attributeName

T

表示属性的名称。

返回值:

类型

说明

Promise<ElementAttributeValues[T]>

Promise对象,返回根据节点属性名称获取的属性值。

错误码:

以下错误码的详细介绍请参见无障碍子系统错误码

错误码ID

错误信息

9300004

This property does not exist.

示例:

  1. let attributeName = 'name';
  2. let attributeValue;
  3. let rootElement;
  4. try {
  5. rootElement.attributeValue(attributeName).then((data) => {
  6. console.log('get attribute value by name success');
  7. attributeValue = data;
  8. }).catch((err) => {
  9. console.log('failed to get attribute value, because ' + JSON.stringify(err));
  10. });
  11. } catch (exception) {
  12. console.log('failed to get attribute value, because ' + JSON.stringify(exception));
  13. }

AccessibilityElement.attributeValue

attributeValue<T extends keyof ElementAttributeValues>(attributeName: T,

callback: AsyncCallback<ElementAttributeValues[T]>): void;

根据属性名称获取属性值,使用callback异步回调。

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

参数:

参数名

类型

必填

说明

attributeName

T

表示属性的名称。

callback

AsyncCallback<ElementAttributeValues[T]>

回调函数,返回根据节点属性名称获取的属性值。

错误码:

以下错误码的详细介绍请参见无障碍子系统错误码

错误码ID

错误信息

9300004

This property does not exist.

示例:

  1. let rootElement;
  2. let attributeValue;
  3. let attributeName = 'name';
  4. try {
  5. rootElement.attributeValue(attributeName, (err, data) => {
  6. if (err) {
  7. console.error('failed to get attribute value, because ' + JSON.stringify(err));
  8. return;
  9. }
  10. attributeValue = data;
  11. console.info('get attribute value success');
  12. });
  13. } catch (exception) {
  14. console.log('failed to get attribute value, because ' + JSON.stringify(exception));
  15. }

actionNames

actionNames(): Promise<Array<string>>;

获取节点元素支持的所有操作名称,使用Promise异步回调。

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

返回值:

类型

说明

Promise<Array<string>>

Promise对象,返回节点元素支持的所有操作名称。

示例:

  1. let rootElement;
  2. let actionNames;
  3. rootElement.actionNames().then((data) => {
  4. console.log('get action names success');
  5. actionNames = data;
  6. }).catch((err) => {
  7. console.log('failed to get action names because ' + JSON.stringify(err));
  8. });

actionNames

actionNames(callback: AsyncCallback<Array<string>>): void;

获取节点元素支持的所有操作名称,使用callback异步回调。

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

参数:

参数名

类型

必填

说明

callback

AsyncCallback<Array<string>>

回调函数,返回节点元素支持的所有操作名称。

示例:

  1. let rootElement;
  2. let actionNames;
  3. rootElement.actionNames((err, data) => {
  4. if (err) {
  5. console.error('failed to get action names, because ' + JSON.stringify(err));
  6. return;
  7. }
  8. actionNames = data;
  9. console.info('get action names success');
  10. });

performAction

performAction(actionName: string, parameters?: object): Promise<void>;

根据操作名称执行某个操作,使用Promise异步回调。

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

参数:

参数名

类型

必填

说明

actionName

string

表示属性的名称。

parameters

object

表示执行操作时所需要的参数;当前版本暂不支持。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

错误码:

以下错误码的详细介绍请参见无障碍子系统错误码

错误码ID

错误信息

9300005

This action is not supported.

示例:

  1. let rootElement;
  2. try {
  3. rootElement.performAction('action').then((data) => {
  4. console.info('perform action success');
  5. }).catch((err) => {
  6. console.log('failed to perform action, because ' + JSON.stringify(err));
  7. });
  8. } catch (exception) {
  9. console.log('failed to perform action, because ' + JSON.stringify(exception));
  10. }

performAction

performAction(actionName: string, callback: AsyncCallback<void>): void;

根据操作名称执行某个操作,使用callback异步回调。

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

参数:

参数名

类型

必填

说明

actionName

string

表示属性的名称。

callback

AsyncCallback<void>

回调函数,表示执行指定操作的回调。

错误码:

以下错误码的详细介绍请参见无障碍子系统错误码

错误码ID

错误信息

9300005

This action is not supported.

示例:

  1. let rootElement;
  2. try {
  3. rootElement.performAction('action', (err, data) => {
  4. if (err) {
  5. console.error('failed to perform action, because ' + JSON.stringify(err));
  6. return;
  7. }
  8. console.info('perform action success');
  9. });
  10. } catch (exception) {
  11. console.log('failed to perform action, because ' + JSON.stringify(exception));
  12. }

performAction

performAction(actionName: string, parameters: object, callback: AsyncCallback<void>): void;

根据操作名称执行某个操作,使用callback异步回调。

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

参数:

参数名

类型

必填

说明

actionName

string

表示属性的名称。

parameters

object

表示执行操作时所需要的参数;当前版本暂不支持。

callback

AsyncCallback<void>

回调函数,表示执行指定操作的回调。

错误码:

以下错误码的详细介绍请参见无障碍子系统错误码

错误码ID

错误信息

9300005

This action is not supported.

示例:

  1. let rootElement;
  2. let actionName = 'action';
  3. let parameters = {
  4. 'setText': 'test text'
  5. };
  6. try {
  7. rootElement.performAction(actionName, parameters, (err, data) => {
  8. if (err) {
  9. console.error('failed to perform action, because ' + JSON.stringify(err));
  10. return;
  11. }
  12. console.info('perform action success');
  13. });
  14. } catch (exception) {
  15. console.log('failed to perform action, because ' + JSON.stringify(exception));
  16. }

findElement('content')

findElement(type: 'content', condition: string): Promise<Array<AccessibilityElement>>;

根据节点内容查询所有节点元素,使用Promise异步回调。

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

参数:

参数名

类型

必填

说明

type

string

固定为'content', 表示查找的类型为节点元素内容。

condition

string

表示查找的条件。

返回值:

类型

说明

Promise<Array<AccessibilityElement>>

Promise对象,返回满足指定查询关键字的所有节点元素。

示例:

  1. let rootElement;
  2. let type = 'content';
  3. let condition = 'keyword';
  4. let elements;
  5. try {
  6. rootElement.findElement(type, condition).then((data) => {
  7. elements = data;
  8. console.log('find element success');
  9. }).catch((err) => {
  10. console.log('failed to find element, because ' + JSON.stringify(err));
  11. });
  12. } catch (exception) {
  13. console.log('failed to find element, because ' + JSON.stringify(exception));
  14. }

findElement('content')

findElement(type: 'content', condition: string, callback: AsyncCallback<Array<AccessibilityElement>>): void;

根据节点内容查询所有节点元素。

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

参数:

参数名

类型

必填

说明

type

string

固定为'content',表示查找的类型为节点元素内容。

condition

string

表示查找的条件。

callback

AsyncCallback<Array<AccessibilityElement>>

回调函数,返回满足指定查询关键字的所有节点元素。

示例:

  1. let rootElement;
  2. let type = 'content';
  3. let condition = 'keyword';
  4. let elements;
  5. try {
  6. rootElement.findElement(type, condition, (err, data) => {
  7. if (err) {
  8. console.error('failed to find element, because ' + JSON.stringify(err));
  9. return;
  10. }
  11. elements = data;
  12. console.info('find element success');
  13. });
  14. } catch (exception) {
  15. console.log('failed to find element, because ' + JSON.stringify(exception));
  16. }

findElement('focusType')

findElement(type: 'focusType', condition: FocusType): Promise<AccessibilityElement>;

根据焦点元素类型查询节点元素,使用Promise异步回调。

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

参数:

参数名

类型

必填

说明

type

string

固定为'focusType', 表示查询的类型为节点的焦点元素类型。

condition

FocusType

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

返回值:

类型

说明

Promise<AccessibilityElement>

Promise对象,返回满足指定查询焦点元素类型的节点元素。

示例:

  1. let rootElement;
  2. let type = 'focusType';
  3. let condition = 'normal';
  4. let element;
  5. try {
  6. rootElement.findElement(type, condition).then((data) => {
  7. element = data;
  8. console.log('find element success');
  9. }).catch((err) => {
  10. console.log('failed to find element, because ' + JSON.stringify(err));
  11. });
  12. } catch (exception) {
  13. console.log('failed to find element, because ' + JSON.stringify(exception));
  14. }

findElement('focusType')

findElement(type: 'focusType', condition: FocusType, callback: AsyncCallback<AccessibilityElement>): void;

根据焦点元素类型查询节点元素,使用callback异步回调。

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

参数:

参数名

类型

必填

说明

type

string

固定为'focusType', 表示查询的类型为节点的焦点元素类型。

condition

FocusType

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

callback

AsyncCallback<AccessibilityElement>

回调函数,返回满足指定查询焦点元素类型的节点元素。

示例:

  1. let rootElement;
  2. let type = 'focusType';
  3. let condition = 'normal';
  4. let element;
  5. try {
  6. rootElement.findElement(type, condition, (err, data) => {
  7. if (err) {
  8. console.error('failed to find element, because ' + JSON.stringify(err));
  9. return;
  10. }
  11. element = data;
  12. console.info('find element success');
  13. });
  14. } catch (exception) {
  15. console.log('failed to find element, because ' + JSON.stringify(exception));
  16. }

findElement('focusDirection')

findElement(type: 'focusDirection', condition: FocusDirection): Promise<AccessibilityElement>;

根据下一焦点元素方向查询节点元素,使用Promise异步回调。

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

参数:

参数名

类型

必填

说明

type

string

固定为'focusDirection', 表示查询的类型为节点的下一焦点元素方向。

condition

FocusDirection

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

返回值:

类型

说明

Promise<AccessibilityElement>

Promise对象,返回满足指定查询下一焦点元素方向的节点元素。

示例:

  1. let rootElement;
  2. let type = 'focusDirection';
  3. let condition = 'up';
  4. let element;
  5. try {
  6. rootElement.findElement(type, condition).then((data) => {
  7. element = data;
  8. console.log('find element success');
  9. }).catch((err) => {
  10. console.log('failed to find element, because ' + JSON.stringify(err));
  11. });
  12. } catch (exception) {
  13. console.log('failed to find element, because ' + JSON.stringify(exception));
  14. }

findElement('focusDirection')

findElement(type: 'focusDirection', condition: FocusDirection, callback: AsyncCallback<AccessibilityElement>): void;

根据下一焦点元素方向查询所有节点元素,使用callback异步回调。

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

参数:

参数名

类型

必填

说明

type

string

固定为'focusDirection', 表示查询的类型为节点的下一焦点元素方向。

condition

FocusDirection

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

callback

AsyncCallback<AccessibilityElement>

回调函数,返回满足指定查询下一焦点元素方向的节点元素。

示例:

  1. let rootElement;
  2. let type = 'focusDirection';
  3. let condition = 'up';
  4. let elements;
  5. try {
  6. rootElement.findElement(type, condition, (err, data) => {
  7. if (err) {
  8. console.error('failed to find element, because ' + JSON.stringify(err));
  9. return;
  10. }
  11. elements = data;
  12. console.info('find element success');
  13. });
  14. } catch (exception) {
  15. console.log('failed to find element, because ' + JSON.stringify(exception));
  16. }
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号