harmony(鸿蒙)AccessibilityExtensionContext

2022-10-28 浏览 (681)

AccessibilityExtensionContext

The AccessibilityExtensionContext module, inherited from ExtensionContext, provides context for Accessibility Extension abilities.

You can use the APIs of this module to configure the concerned information, obtain root information, and inject gestures.

NOTE

The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version. The APIs of this module can be used only in the stage model.

Usage

Before using the AccessibilityExtensionContext module, you must define a child class that inherits from AccessibilityExtensionAbility.

import AccessibilityExtensionAbility from '@ohos.application.AccessibilityExtensionAbility'
class MainAbility extends AccessibilityExtensionAbility {
    onConnect(): void {
        console.log("AxExtensionAbility onConnect");
        let axContext = this.context;
    }
}

FocusDirection

Enumerates the focus directions.

System capability: SystemCapability.BarrierFree.Accessibility.Core

NameDescription
upSearch for the next focusable item above the current item in focus.
downSearch for the next focusable item below the current item in focus.
leftSearch for the next focusable item on the left of the current item in focus.
rightSearch for the next focusable item on the right of the current item in focus.
forwardSearch for the next focusable item before the current item in focus.
backwardSearch for the next focusable item after the current item in focus.

FocusType

Enumerates the focus types.

System capability: SystemCapability.BarrierFree.Accessibility.Core

NameDescription
accessibilityAccessibility focus.
normalNormal focus.

Rect

Defines a rectangle.

System capability: SystemCapability.BarrierFree.Accessibility.Core

NameTypeReadableWritableDescription
leftnumberYesNoLeft boundary of the rectangle.
topnumberYesNoTop boundary of the rectangle.
widthnumberYesNoWidth of the rectangle.
heightnumberYesNoHeight of the rectangle.

WindowType

Enumerates the window types.

System capability: SystemCapability.BarrierFree.Accessibility.Core

NameDescription
applicationApplication window.
systemSystem window.

AccessibilityExtensionContext.setTargetBundleName

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

Sets the concerned target bundle.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
targetNamesArray<string>YesName of the target bundle.

Return value

TypeDescription
Promise<boolean>Promise used to return the result.

Example

this.context.setTargetBundleName(['com.ohos.mms']);

AccessibilityExtensionContext.getFocusElement

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

Obtains the focus element.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
isAccessibilityFocusbooleanNoWhether the obtained focus element is an accessibility focus. The default value is false.

Return value

TypeDescription
Promise<AccessibilityElement>Promise used to return the current focus element.

Example

this.context.getFocusElement().then(focusElement => {
    console.log("AxExtensionAbility getFocusElement success");
})

AccessibilityExtensionContext.getWindowRootElement

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

Obtains the root element of a window.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
windowIdnumberNoWindow for which you want to obtain the root element. If this parameter is not specified, it indicates the current active window.

Return value

TypeDescription
Promise<AccessibilityElement>Promise used to return the root element.

Example

this.context.getWindowRootElement().then(rootElement => {
    console.log("AxExtensionAbility getWindowRootElement success");
})

AccessibilityExtensionContext.getWindows

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

Obtains the list of windows visible to users.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
displayIdnumberNoScreen from which the window information is obtained. If this parameter is not specified, it indicates the default home screen.

Return value

TypeDescription
Promise<Array<AccessibilityElement>>Promise used to return the window list.

Example

this.context.getWindows().then(windows => {
    console.log("AxExtensionAbility getWindows success");
})

AccessibilityExtensionContext.injectGesture

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

Injects a gesture.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
gesturePathGesturePathYesPath of the gesture to inject.
callbackAsyncCallback<void>YesCallback used to return the result.

Example

let gesturePath = new GesturePath(100);
for (let i = 0; i < 10; i++) {
    let gesturePoint = new GesturePosition(100, i * 200);
    gesturePath.positions.push(gesturePoint);
}
this.context.gestureInject(gesturePath, (result) => {
    console.info('gestureInject result: ' + result);
})

AccessibilityElement.attributeNames

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

Obtains all attribute names of this element.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Return value

TypeDescription
Promise<Array<T>>Promise used to return all attribute names of the element.

Example

let accessibilityElement;
try {
    accessibilityElement.attributeNames().then((values) => {
        console.log("get attribute names success");
    }).catch((err) => {
        console.log("get attribute names err: "  + JSON.stringify(err));
    });
} catch (e) {
    console.log("An unexpected error occurred. Error:" + e);
}

AccessibilityElement.attributeValue

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

Obtains the attribute value based on an attribute name.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
attributeNameTYesAttribute name.

Return value

TypeDescription
Promise<Array<ElementAttributeValues[T]>>Promise used to return the attribute value.

Example

let accessibilityElement;
try {
    let attributeName = 'name';
    accessibilityElement.attributeValue(attributeName).then((value) => {
        console.log("get attribute value by name success");
    }).catch((err) => {
        console.log("get attribute value by name err: "  + JSON.stringify(err));
    });
} catch (e) {
    console.log("An unexpected error occurred. Error:" + e);
}

AccessibilityElement.actionNames

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

Obtains the names of all actions supported by this element.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Return value

TypeDescription
Promise<Array<string>>Promise used to return the names of all actions supported by the element.

Example

let accessibilityElement;
try {
    accessibilityElement.actionNames().then((values) => {
        console.log("get action names success");
    }).catch((err) => {
        console.log("get action names err: "  + JSON.stringify(err));
    });
} catch (e) {
    console.log("An unexpected error occurred. Error:" + e);
}

AccessibilityElement.performAction

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

Performs an action based on the specified action name.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
actionNamestringYesAction name.
parametersobjectNoParameter required for performing the target action.

Return value

TypeDescription
Promise<Array<boolean>>Promise used to return the result.

Example

let accessibilityElement;
try {

    accessibilityElement.performAction('action').then((result) => {
        console.info('perform action result: ' + result);
    }).catch((err) => {
        console.log("perform action err: "  + JSON.stringify(err));
    });
} catch (e) {
    console.log("An unexpected error occurred. Error:" + e);
}

AccessibilityElement.findElement

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

Queries the information about this element based on the specified information type and condition.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
typestringYesInformation type. The value is fixed at 'content'.
conditionstringYesSearch criteria.

Return value

TypeDescription
Promise<Array<T>>Promise used to return the result.

Example

let accessibilityElement;
try {
    let condition = 'keyword';
    accessibilityElement.findElement('content', condition).then((values) => {
        console.log("find element success");
    }).catch((err) => {
        console.log("find element err: "  + JSON.stringify(err));
    });
} catch (e) {
    console.log("An unexpected error occurred. Error:" + e);
}

你可能感兴趣的鸿蒙文章

harmony(鸿蒙)APIs

harmony(鸿蒙)API Reference Document Description

harmony(鸿蒙)BundleStatusCallback

harmony(鸿蒙)@ohos.bundle.innerBundleManager

harmony(鸿蒙)distributedBundle

harmony(鸿蒙)@ohos.bundle

harmony(鸿蒙)@ohos.enterprise.EnterpriseAdminExtensionAbility

harmony(鸿蒙)Work Scheduler Callbacks

harmony(鸿蒙)@ohos.ability.ability

harmony(鸿蒙)AbilityContext

  • 所属分类: 后端技术
  • 本文标签: 鸿蒙 软件
  • 版权声明: 本文链接 https://seaxiang.com/blog/3d33233f678743c68f298b2b642a2cb0