Added in API level 14

AccessibilityNodeInfo


open class AccessibilityNodeInfo : Parcelable
kotlin.Any
   ↳ android.view.accessibility.AccessibilityNodeInfo

This class represents a node of the window content as well as actions that can be requested from its source. From the point of view of an android.accessibilityservice.AccessibilityService a window's content is presented as a tree of accessibility node infos, which may or may not map one-to-one to the view hierarchy. In other words, a custom view is free to report itself as a tree of accessibility node info.

Once an accessibility node info is delivered to an accessibility service it is made immutable and calling a state mutation method generates an error. See setQueryFromAppProcessEnabled if you would like to inspect the node tree from the app process for testing or debugging tools.

Please refer to android.accessibilityservice.AccessibilityService for details about how to obtain a handle to window content as a tree of accessibility node info as well as details about the security model.

Note: Use a androidx.core.view.accessibility.AccessibilityNodeInfoCompat wrapper instead of this class for backwards-compatibility.

Summary

Nested classes

A class defining an action that can be performed on an AccessibilityNodeInfo.

Class with information if a node is a collection.

Class with information if a node is a collection item.

Class with information of a view useful to evaluate accessibility needs.

Class with information if a node is a range.

Class with information of touch delegated views and regions from TouchDelegate for the AccessibilityNodeInfo.

Constants
static Int

Action that gives accessibility focus to the node.

static String

Argument for specifying the collection column to make visible on screen.

static String

Argument to represent the direction when using AccessibilityAction#ACTION_SCROLL_IN_DIRECTION.

static String

Argument for whether when moving at granularity to extend the selection or to move it otherwise.

static String

Argument for which HTML element to get moving to the next/previous HTML element.

static String

Argument for which movement granularity to be used when traversing the node text.

static String

Argument for specifying the x coordinate to which to move a window.

static String

Argument for specifying the y coordinate to which to move a window.

static String

Argument to represent the duration in milliseconds to press and hold a node.

static String

Argument for specifying the progress value to set.

static String

Argument for specifying the collection row to make visible on screen.

static String

Argument for specifying the selection end.

static String

Argument for specifying the selection start.

static String

Argument for specifying the text content to set.

static Int

Action that clears accessibility focus of the node.

static Int

Action that clears input focus of the node.

static Int

Action that deselects the node.

static Int

Action that clicks on the node info.

static Int

Action to collapse an expandable node.

static Int

Action to copy the current selection to the clipboard.

static Int

Action to cut the current selection and place it to the clipboard.

static Int

Action to dismiss a dismissable node.

static Int

Action to expand an expandable node.

static Int

Action that gives input focus to the node.

static Int

Action that long clicks on the node.

static Int

Action that requests to go to the next entity in this node's text at a given movement granularity.

static Int

Action to move to the next HTML element of a given type.

static Int

Action to paste the current clipboard content.

static Int

Action that requests to go to the previous entity in this node's text at a given movement granularity.

static Int

Action to move to the previous HTML element of a given type.

static Int

Action to scroll the node content backward.

static Int

Action to scroll the node content forward.

static Int

Action that selects the node.

static Int

Action to set the selection.

static Int

Action that sets the text of the node.

static String

Key used to request extra data for the rendering information.

static String

Integer argument specifying the end index of the requested text location data.

static Int

The maximum allowed length of the requested text location data.

static String

Integer argument specifying the start index of the requested text location data.

static String

Key used to request and locate extra data for text character location.

static Int

Prefetching strategy that prefetches the ancestors of the requested node.

static Int

Prefetching strategy that prefetches the descendants of the requested node breadth-first.

static Int

Prefetching strategy that prefetches the descendants of the requested node depth-first.

static Int

Prefetching strategy that prefetches the descendants in a hybrid depth first and breadth first approach.

static Int

Prefetching strategy that prefetches the siblings of the requested node.

static Int

Prefetching flag that specifies prefetching should not be interrupted by a request to retrieve a node or perform an action on a node.

static Int

The accessibility focus.

static Int

The input focus.

static Int

Maximum batch size of prefetched nodes for a request.

static Int

Movement granularity bit for traversing the text of a node by character.

static Int

Movement granularity bit for traversing the text of a node by line.

static Int

Movement granularity bit for traversing the text of a node by page.

static Int

Movement granularity bit for traversing the text of a node by paragraph.

static Int

Movement granularity bit for traversing the text of a node by word.

Inherited constants
Public constructors

Creates a new AccessibilityNodeInfo.

Creates a new AccessibilityNodeInfo with the given source.

AccessibilityNodeInfo(root: View, virtualDescendantId: Int)

Creates a new AccessibilityNodeInfo with the given source.

Copy constructor.

Public methods
open Unit

Adds an action that can be performed on the node.

open Unit
addAction(action: Int)

Adds an action that can be performed on the node.

open Unit
addChild(child: View!)

Adds a child.

open Unit
addChild(root: View!, virtualDescendantId: Int)

Adds a virtual child which is a descendant of the given root.

open Boolean

Gets if this node opens a popup or a dialog.

open Int

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.

open Boolean
equals(other: Any?)

Indicates whether some other object is "equal to" this one.

open MutableList<AccessibilityNodeInfo!>!

Finds AccessibilityNodeInfos by text.

open MutableList<AccessibilityNodeInfo!>!

Finds AccessibilityNodeInfos by the fully qualified view id's resource name where a fully qualified id is of the from "package:id/id_resource_name".

open AccessibilityNodeInfo!
findFocus(focus: Int)

Find the view that has the specified focus type.

open AccessibilityNodeInfo!
focusSearch(direction: Int)

Searches for the nearest view in the specified direction that can take the input focus.

open MutableList<AccessibilityNodeInfo.AccessibilityAction!>!

Gets the actions that can be performed on the node.

open Int

Gets the actions that can be performed on the node.

open MutableList<String!>!

Get the extra data available for this node.

open Unit
getBoundsInParent(outBounds: Rect!)

Gets the node bounds in the viewParent's coordinates.

open Unit
getBoundsInScreen(outBounds: Rect!)

Gets the node bounds in screen coordinates.

open Unit
getBoundsInWindow(outBounds: Rect)

Gets the node bounds in window coordinates.

open AccessibilityNodeInfo!
getChild(index: Int)

Get the child at given index.

open AccessibilityNodeInfo?
getChild(index: Int, prefetchingStrategy: Int)

Get the child at given index.

open Int

Gets the number of children.

open CharSequence!

Gets the class this node comes from.

open AccessibilityNodeInfo.CollectionInfo!

Gets the collection info if the node is a collection.

open AccessibilityNodeInfo.CollectionItemInfo!

Gets the collection item info if the node is a collection item.

open CharSequence?

Returns the container title.

open CharSequence!

Gets the content description of this node.

open Int

Get the drawing order of the view corresponding it this node.

open CharSequence!

Gets the error text of this node.

open AccessibilityNodeInfo.ExtraRenderingInfo?

Gets the extra rendering info if the node is meant to be refreshed with extra data to examine rendering related accessibility issues.

open Bundle!

Gets an optional bundle with extra data.

open CharSequence!

Gets the hint text of this node.

open Int

Gets the input type of the source as defined by InputType.

open AccessibilityNodeInfo!

Gets the node info for which the view represented by this info serves as a label for accessibility purposes.

open AccessibilityNodeInfo!

Gets the node info which serves as the label of the view represented by this info for accessibility purposes.

open Int

Gets the node's live region mode.

open Int

Returns the maximum text length for this node.

open Duration

Gets the minimum time duration between two content change events.

open Int

Gets the movement granularities for traversing the text of this node.

open CharSequence!

Gets the package this node comes from.

open CharSequence?

Get the title of the pane represented by this node.

open AccessibilityNodeInfo!

Gets the parent.

open AccessibilityNodeInfo?
getParent(prefetchingStrategy: Int)

Gets the parent.

open AccessibilityNodeInfo.RangeInfo!

Gets the range info if this node is a range.

open CharSequence?

Get the state description of this node.

open CharSequence!

Gets the text of this node.

open Int

Gets the text selection end if text is selected.

open Int

Gets the text selection start or the cursor position.

open CharSequence?

Gets the tooltip text of this node.

open AccessibilityNodeInfo.TouchDelegateInfo?

Get the TouchDelegateInfo for touch delegate behavior with the represented view.

open AccessibilityNodeInfo!

Gets the node after which this one is visited in accessibility traversal.

open AccessibilityNodeInfo!

Gets the node before which this one is visited during traversal.

open String?

Gets the unique id of the node.

open String!

Gets the fully qualified resource name of the source view's id.

open AccessibilityWindowInfo!

Gets the window to which this node belongs.

open Int

Gets the id of the window from which the info comes from.

open Boolean

Gets whether the node has setRequestInitialAccessibilityFocus.

open Int

open Boolean

Gets if the node's accessibility data is considered sensitive.

open Boolean

Gets whether this node is accessibility focused.

open Boolean

Gets whether this node is checkable.

open Boolean

Gets whether this node is checked.

open Boolean

Gets whether this node is clickable.

open Boolean

Gets if the content of this node is invalid.

open Boolean

Gets whether this node is context clickable.

open Boolean

Gets if the node can be dismissed.

open Boolean

Gets if the node is editable.

open Boolean

Gets whether this node is enabled.

open Boolean

Gets whether this node is focusable.

open Boolean

Gets whether this node is focused.

open Boolean

Returns whether node represents a heading.

open Boolean

Returns whether the node originates from a view considered important for accessibility.

open Boolean

Gets whether this node is long clickable.

open Boolean

Gets if the node is a multi line editable text.

open Boolean

Gets whether this node is a password.

open Boolean

Returns whether the node is explicitly marked as a focusable unit by a screen reader.

open Boolean

Gets if the node is scrollable.

open Boolean

Gets whether this node is selected.

open Boolean

Returns whether the node's text represents a hint for the user to enter text.

open Boolean

Returns whether node represents a text entry key that is part of a keyboard or keypad.

open Boolean

Gets if the node has selectable text.

open Boolean

Gets whether this node is visible to the user.

open static AccessibilityNodeInfo!
obtain(source: View!)

Returns a cached instance if such is available otherwise a new one and sets the source.

open static AccessibilityNodeInfo!
obtain(root: View!, virtualDescendantId: Int)

Returns a cached instance if such is available otherwise a new one and sets the source.

open static AccessibilityNodeInfo!

Instantiates a new AccessibilityNodeInfo.

open static AccessibilityNodeInfo!

Instantiates a new AccessibilityNodeInfo initialized from the given info.

open Boolean
performAction(action: Int)

Performs an action on the node.

open Boolean
performAction(action: Int, arguments: Bundle!)

Performs an action on the node.

open Unit

Would previously return an instance back to be reused.

open Boolean

Refreshes this info with the latest state of the view it represents.

open Boolean
refreshWithExtraData(extraDataKey: String!, args: Bundle!)

Refreshes this info with the latest state of the view it represents, and request new data be added by the View.

open Unit
removeAction(action: Int)

Removes an action that can be performed on the node.

open Boolean

Removes an action that can be performed on the node.

open Boolean
removeChild(child: View!)

Removes a child.

open Boolean
removeChild(root: View!, virtualDescendantId: Int)

Removes a virtual child which is a descendant of the given root.

open Unit
setAccessibilityDataSensitive(accessibilityDataSensitive: Boolean)

Sets whether this node's accessibility data is considered sensitive.

open Unit

Sets whether this node is accessibility focused.

open Unit

Set the extra data available for this node.

open Unit

Sets the node bounds in the viewParent's coordinates.

open Unit

Sets the node bounds in screen coordinates.

open Unit

Sets the node bounds in window coordinates.

open Unit
setCanOpenPopup(opensPopup: Boolean)

Sets if this node opens a popup or a dialog.

open Unit
setCheckable(checkable: Boolean)

Sets whether this node is checkable.

open Unit
setChecked(checked: Boolean)

Sets whether this node is checked.

open Unit

Sets the class this node comes from.

open Unit
setClickable(clickable: Boolean)

Sets whether this node is clickable.

open Unit

Sets the collection info if the node is a collection.

open Unit

Sets the collection item info if the node is a collection item.

open Unit
setContainerTitle(containerTitle: CharSequence?)

Sets the container title for app-developer-defined container which can be any type of ViewGroup or layout.

open Unit
setContentDescription(contentDescription: CharSequence!)

Sets the content description of this node.

open Unit
setContentInvalid(contentInvalid: Boolean)

Sets if the content of this node is invalid.

open Unit
setContextClickable(contextClickable: Boolean)

Sets whether this node is context clickable.

open Unit
setDismissable(dismissable: Boolean)

Sets if the node can be dismissed.

open Unit
setDrawingOrder(drawingOrderInParent: Int)

Set the drawing order of the view corresponding it this node.

open Unit
setEditable(editable: Boolean)

Sets whether this node is editable.

open Unit
setEnabled(enabled: Boolean)

Sets whether this node is enabled.

open Unit

Sets the error text of this node.

open Unit
setFocusable(focusable: Boolean)

Sets whether this node is focusable.

open Unit
setFocused(focused: Boolean)

Sets whether this node is focused.

open Unit
setHeading(isHeading: Boolean)

Sets whether the node represents a heading.

open Unit

Sets the hint text of this node.

open Unit

Sets whether the node is considered important for accessibility.

open Unit
setInputType(inputType: Int)

Sets the input type of the source as defined by InputType.

open Unit
setLabelFor(labeled: View!)

Sets the view for which the view represented by this info serves as a label for accessibility purposes.

open Unit
setLabelFor(root: View!, virtualDescendantId: Int)

Sets the view for which the view represented by this info serves as a label for accessibility purposes.

open Unit
setLabeledBy(label: View!)

Sets the view which serves as the label of the view represented by this info for accessibility purposes.

open Unit
setLabeledBy(root: View!, virtualDescendantId: Int)

Sets the view which serves as the label of the view represented by this info for accessibility purposes.

open Unit

Sets the node's live region mode.

open Unit
setLongClickable(longClickable: Boolean)

Sets whether this node is long clickable.

open Unit

Sets the maximum text length, or -1 for no limit.

open Unit

Sets the minimum time duration between two content change events, which is used in throttling content change events in accessibility services.

open Unit
setMovementGranularities(granularities: Int)

Sets the movement granularities for traversing the text of this node.

open Unit
setMultiLine(multiLine: Boolean)

Sets if the node is a multi line editable text.

open Unit

Sets the package this node comes from.

open Unit

If this node represents a visually distinct region of the screen that may update separately from the rest of the window, it is considered a pane.

open Unit
setParent(parent: View!)

Sets the parent.

open Unit
setParent(root: View!, virtualDescendantId: Int)

Sets the parent to be a virtual descendant of the given root.

open Unit
setPassword(password: Boolean)

Sets whether this node is a password.

open Unit

Connects this node to the View's root so that operations on this node can query the entire AccessibilityNodeInfo tree and perform accessibility actions on nodes.

open Unit

Sets the range info if this node is a range.

open Unit
setRequestInitialAccessibilityFocus(requestInitialAccessibilityFocus: Boolean)

Sets whether the node has requested initial accessibility focus.

open Unit
setScreenReaderFocusable(screenReaderFocusable: Boolean)

Sets whether the node should be considered a focusable unit by a screen reader.

open Unit
setScrollable(scrollable: Boolean)

Sets if the node is scrollable.

open Unit
setSelected(selected: Boolean)

Sets whether this node is selected.

open Unit
setShowingHintText(showingHintText: Boolean)

Sets whether the node's text represents a hint for the user to enter text.

open Unit
setSource(source: View!)

Sets the source.

open Unit
setSource(root: View!, virtualDescendantId: Int)

Sets the source to be a virtual descendant of the given root.

open Unit
setStateDescription(stateDescription: CharSequence?)

Sets the state description of this node.

open Unit

Sets the text of this node.

open Unit
setTextEntryKey(isTextEntryKey: Boolean)

Sets whether the node represents a text entry key that is part of a keyboard or keypad.

open Unit
setTextSelectable(selectableText: Boolean)

Sets if the node has selectable text.

open Unit
setTextSelection(start: Int, end: Int)

Sets the text selection start and end.

open Unit

Sets the tooltip text of this node.

open Unit

Set touch delegate info if the represented view has a TouchDelegate.

open Unit

Sets the view whose node is visited after this one in accessibility traversal.

open Unit
setTraversalAfter(root: View!, virtualDescendantId: Int)

Sets the node after which this one is visited in accessibility traversal.

open Unit

Sets the view before whose node this one should be visited during traversal.

open Unit
setTraversalBefore(root: View!, virtualDescendantId: Int)

Sets the node before which this one is visited during traversal.

open Unit
setUniqueId(uniqueId: String?)

Sets the unique id to act as a key to identify the node.

open Unit
setViewIdResourceName(viewIdResName: String!)

Sets the fully qualified resource name of the source view's id.

open Unit
setVisibleToUser(visibleToUser: Boolean)

Sets whether this node is visible to the user.

open String

open Unit
writeToParcel(parcel: Parcel, flags: Int)

Flatten this object in to a Parcel.

Properties
static Parcelable.Creator<AccessibilityNodeInfo!>

Constants

ACTION_ACCESSIBILITY_FOCUS

Added in API level 16
static val ACTION_ACCESSIBILITY_FOCUS: Int

Action that gives accessibility focus to the node. See AccessibilityAction#ACTION_ACCESSIBILITY_FOCUS

Value: 64

ACTION_ARGUMENT_COLUMN_INT

Added in API level 23
static val ACTION_ARGUMENT_COLUMN_INT: String

Argument for specifying the collection column to make visible on screen.

Type: int
Actions:

Value: "android.view.accessibility.action.ARGUMENT_COLUMN_INT"

ACTION_ARGUMENT_DIRECTION_INT

Added in API level 34
static val ACTION_ARGUMENT_DIRECTION_INT: String

Argument to represent the direction when using AccessibilityAction#ACTION_SCROLL_IN_DIRECTION.

The value of this argument can be one of:

Value: "android.view.accessibility.action.ARGUMENT_DIRECTION_INT"

ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN

Added in API level 18
static val ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN: String

Argument for whether when moving at granularity to extend the selection or to move it otherwise.

Type: boolean
Actions:

Value: "ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN"

ACTION_ARGUMENT_HTML_ELEMENT_STRING

Added in API level 16
static val ACTION_ARGUMENT_HTML_ELEMENT_STRING: String

Argument for which HTML element to get moving to the next/previous HTML element.

Type: String
Actions:

Value: "ACTION_ARGUMENT_HTML_ELEMENT_STRING"

ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT

Added in API level 16
static val ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT: String

Argument for which movement granularity to be used when traversing the node text.

Type: int
Actions:

Value: "ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT"

ACTION_ARGUMENT_MOVE_WINDOW_X

Added in API level 26
static val ACTION_ARGUMENT_MOVE_WINDOW_X: String

Argument for specifying the x coordinate to which to move a window.

Type: int
Actions:

Value: "ACTION_ARGUMENT_MOVE_WINDOW_X"

ACTION_ARGUMENT_MOVE_WINDOW_Y

Added in API level 26
static val ACTION_ARGUMENT_MOVE_WINDOW_Y: String

Argument for specifying the y coordinate to which to move a window.

Type: int
Actions:

Value: "ACTION_ARGUMENT_MOVE_WINDOW_Y"

ACTION_ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT

Added in API level 30
static val ACTION_ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT: String

Argument to represent the duration in milliseconds to press and hold a node.

Type: int
Actions:

Value: "android.view.accessibility.action.ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT"

ACTION_ARGUMENT_PROGRESS_VALUE

Added in API level 24
static val ACTION_ARGUMENT_PROGRESS_VALUE: String

Argument for specifying the progress value to set.

Type: float
Actions:

Value: "android.view.accessibility.action.ARGUMENT_PROGRESS_VALUE"

ACTION_ARGUMENT_ROW_INT

Added in API level 23
static val ACTION_ARGUMENT_ROW_INT: String

Argument for specifying the collection row to make visible on screen.

Type: int
Actions:

Value: "android.view.accessibility.action.ARGUMENT_ROW_INT"

ACTION_ARGUMENT_SELECTION_END_INT

Added in API level 18
static val ACTION_ARGUMENT_SELECTION_END_INT: String

Argument for specifying the selection end.

Type: int
Actions:

Value: "ACTION_ARGUMENT_SELECTION_END_INT"

ACTION_ARGUMENT_SELECTION_START_INT

Added in API level 18
static val ACTION_ARGUMENT_SELECTION_START_INT: String

Argument for specifying the selection start.

Type: int
Actions:

Value: "ACTION_ARGUMENT_SELECTION_START_INT"

ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE

Added in API level 21
static val ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE: String

Argument for specifying the text content to set.

Type: CharSequence
Actions:

Value: "ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE"

ACTION_CLEAR_ACCESSIBILITY_FOCUS

Added in API level 16
static val ACTION_CLEAR_ACCESSIBILITY_FOCUS: Int

Action that clears accessibility focus of the node. See AccessibilityAction#ACTION_CLEAR_ACCESSIBILITY_FOCUS

Value: 128

ACTION_CLEAR_FOCUS

Added in API level 14
static val ACTION_CLEAR_FOCUS: Int

Action that clears input focus of the node. See AccessibilityAction#ACTION_CLEAR_FOCUS

Value: 2

ACTION_CLEAR_SELECTION

Added in API level 14
static val ACTION_CLEAR_SELECTION: Int

Action that deselects the node.

Value: 8

ACTION_CLICK

Added in API level 16
static val ACTION_CLICK: Int

Action that clicks on the node info.

Value: 16

ACTION_COLLAPSE

Added in API level 19
static val ACTION_COLLAPSE: Int

Action to collapse an expandable node.

Value: 524288

ACTION_COPY

Added in API level 18
static val ACTION_COPY: Int

Action to copy the current selection to the clipboard.

Value: 16384

ACTION_CUT

Added in API level 18
static val ACTION_CUT: Int

Action to cut the current selection and place it to the clipboard.

Value: 65536

ACTION_DISMISS

Added in API level 19
static val ACTION_DISMISS: Int

Action to dismiss a dismissable node.

Value: 1048576

ACTION_EXPAND

Added in API level 19
static val ACTION_EXPAND: Int

Action to expand an expandable node.

Value: 262144

ACTION_FOCUS

Added in API level 14
static val ACTION_FOCUS: Int

Action that gives input focus to the node. See AccessibilityAction#ACTION_FOCUS

Value: 1

ACTION_LONG_CLICK

Added in API level 16
static val ACTION_LONG_CLICK: Int

Action that long clicks on the node.

It does not support coordinate information for anchoring.

Value: 32

ACTION_NEXT_AT_MOVEMENT_GRANULARITY

Added in API level 16
static val ACTION_NEXT_AT_MOVEMENT_GRANULARITY: Int

Action that requests to go to the next entity in this node's text at a given movement granularity. For example, move to the next character, word, etc.

Arguments: ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT<, ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN
Example: Move to the previous character and do not extend selection.

<p><code> Bundle arguments = new Bundle(); arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT, AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER); arguments.putBoolean(AccessibilityNodeInfo.ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN, false); info.performAction(AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments); </code></p>

Value: 256

ACTION_NEXT_HTML_ELEMENT

Added in API level 16
static val ACTION_NEXT_HTML_ELEMENT: Int

Action to move to the next HTML element of a given type. For example, move to the BUTTON, INPUT, TABLE, etc.

Arguments: ACTION_ARGUMENT_HTML_ELEMENT_STRING
Example:

<p><code> Bundle arguments = new Bundle(); arguments.putString(AccessibilityNodeInfo.ACTION_ARGUMENT_HTML_ELEMENT_STRING, "BUTTON"); info.performAction(AccessibilityNodeInfo.ACTION_NEXT_HTML_ELEMENT, arguments); </code></p>

Value: 1024

ACTION_PASTE

Added in API level 18
static val ACTION_PASTE: Int

Action to paste the current clipboard content.

Value: 32768

ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY

Added in API level 16
static val ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY: Int

Action that requests to go to the previous entity in this node's text at a given movement granularity. For example, move to the next character, word, etc.

Arguments: ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT<, ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN
Example: Move to the next character and do not extend selection.

<p><code> Bundle arguments = new Bundle(); arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT, AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER); arguments.putBoolean(AccessibilityNodeInfo.ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN, false); info.performAction(AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, arguments); </code></p>

Value: 512

ACTION_PREVIOUS_HTML_ELEMENT

Added in API level 16
static val ACTION_PREVIOUS_HTML_ELEMENT: Int

Action to move to the previous HTML element of a given type. For example, move to the BUTTON, INPUT, TABLE, etc.

Arguments: ACTION_ARGUMENT_HTML_ELEMENT_STRING
Example:

<p><code> Bundle arguments = new Bundle(); arguments.putString(AccessibilityNodeInfo.ACTION_ARGUMENT_HTML_ELEMENT_STRING, "BUTTON"); info.performAction(AccessibilityNodeInfo.ACTION_PREVIOUS_HTML_ELEMENT, arguments); </code></p>

Value: 2048

ACTION_SCROLL_BACKWARD

Added in API level 16
static val ACTION_SCROLL_BACKWARD: Int

Action to scroll the node content backward.

Value: 8192

ACTION_SCROLL_FORWARD

Added in API level 16
static val ACTION_SCROLL_FORWARD: Int

Action to scroll the node content forward.

Value: 4096

ACTION_SELECT

Added in API level 14
static val ACTION_SELECT: Int

Action that selects the node.

Value: 4

ACTION_SET_SELECTION

Added in API level 18
static val ACTION_SET_SELECTION: Int

Action to set the selection. Performing this action with no arguments clears the selection.

Value: 131072

ACTION_SET_TEXT

Added in API level 21
static val ACTION_SET_TEXT: Int

Action that sets the text of the node. Performing the action without argument, using null or empty CharSequence will clear the text. This action will also put the cursor at the end of text.

Value: 2097152

EXTRA_DATA_RENDERING_INFO_KEY

Added in API level 30
static val EXTRA_DATA_RENDERING_INFO_KEY: String

Key used to request extra data for the rendering information. The key requests that a AccessibilityNodeInfo.ExtraRenderingInfo be added to this info. This request is made with refreshWithExtraData(java.lang.String,android.os.Bundle) without argument.

The data can be retrieved from the ExtraRenderingInfo returned by getExtraRenderingInfo() using ExtraRenderingInfo#getLayoutSize, ExtraRenderingInfo#getTextSizeInPx() and ExtraRenderingInfo#getTextSizeUnit(). For layout params, it is supported by both TextView and ViewGroup. For text size and unit, it is only supported by TextView.

Value: "android.view.accessibility.extra.DATA_RENDERING_INFO_KEY"

EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_LENGTH

Added in API level 26
static val EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_LENGTH: String

Integer argument specifying the end index of the requested text location data. Must be positive and no larger than EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_MAX_LENGTH.

Value: "android.view.accessibility.extra.DATA_TEXT_CHARACTER_LOCATION_ARG_LENGTH"

EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_MAX_LENGTH

Added in API level 31
static val EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_MAX_LENGTH: Int

The maximum allowed length of the requested text location data.

Value: 20000

EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_START_INDEX

Added in API level 26
static val EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_START_INDEX: String

Integer argument specifying the start index of the requested text location data. Must be valid inside the CharSequence returned by getText().

Value: "android.view.accessibility.extra.DATA_TEXT_CHARACTER_LOCATION_ARG_START_INDEX"

EXTRA_DATA_TEXT_CHARACTER_LOCATION_KEY

Added in API level 26
static val EXTRA_DATA_TEXT_CHARACTER_LOCATION_KEY: String

Key used to request and locate extra data for text character location. This key requests that an array of android.graphics.RectFs be added to the extras. This request is made with refreshWithExtraData(java.lang.String,android.os.Bundle). The arguments taken by this request are two integers: EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_START_INDEX and EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_LENGTH. The starting index must be valid inside the CharSequence returned by getText(), and the length must be positive.

The data can be retrieved from the Bundle returned by getExtras() using this string as a key for Bundle#getParcelableArray(String). The android.graphics.RectF will be null for characters that either do not exist or are off the screen. {@see #refreshWithExtraData(String, Bundle)}

Value: "android.view.accessibility.extra.DATA_TEXT_CHARACTER_LOCATION_KEY"

FLAG_PREFETCH_ANCESTORS

Added in API level 33
static val FLAG_PREFETCH_ANCESTORS: Int

Prefetching strategy that prefetches the ancestors of the requested node.

Ancestors will be prefetched before siblings and descendants.

Value: 1

FLAG_PREFETCH_DESCENDANTS_BREADTH_FIRST

Added in API level 33
static val FLAG_PREFETCH_DESCENDANTS_BREADTH_FIRST: Int

Prefetching strategy that prefetches the descendants of the requested node breadth-first.

This must not be combined with FLAG_PREFETCH_DESCENDANTS_HYBRID or FLAG_PREFETCH_DESCENDANTS_DEPTH_FIRST or this will trigger an IllegalArgumentException.

Value: 16

FLAG_PREFETCH_DESCENDANTS_DEPTH_FIRST

Added in API level 33
static val FLAG_PREFETCH_DESCENDANTS_DEPTH_FIRST: Int

Prefetching strategy that prefetches the descendants of the requested node depth-first.

This must not be combined with FLAG_PREFETCH_DESCENDANTS_HYBRID or FLAG_PREFETCH_DESCENDANTS_BREADTH_FIRST or this will trigger an IllegalArgumentException.

Value: 8

FLAG_PREFETCH_DESCENDANTS_HYBRID

Added in API level 33
static val FLAG_PREFETCH_DESCENDANTS_HYBRID: Int

Prefetching strategy that prefetches the descendants in a hybrid depth first and breadth first approach.

The children of the root node is prefetched before recursing on the children. This must not be combined with FLAG_PREFETCH_DESCENDANTS_DEPTH_FIRST or FLAG_PREFETCH_DESCENDANTS_BREADTH_FIRST or this will trigger an IllegalArgumentException.

Value: 4

FLAG_PREFETCH_SIBLINGS

Added in API level 33
static val FLAG_PREFETCH_SIBLINGS: Int

Prefetching strategy that prefetches the siblings of the requested node.

To avoid disconnected trees, this flag will also prefetch the parent. Siblings will be prefetched before descendants.

Value: 2

FLAG_PREFETCH_UNINTERRUPTIBLE

Added in API level 33
static val FLAG_PREFETCH_UNINTERRUPTIBLE: Int

Prefetching flag that specifies prefetching should not be interrupted by a request to retrieve a node or perform an action on a node.

Value: 32

FOCUS_ACCESSIBILITY

Added in API level 16
static val FOCUS_ACCESSIBILITY: Int

The accessibility focus.

Value: 2

FOCUS_INPUT

Added in API level 16
static val FOCUS_INPUT: Int

The input focus.

Value: 1

MAX_NUMBER_OF_PREFETCHED_NODES

Added in API level 33
static val MAX_NUMBER_OF_PREFETCHED_NODES: Int

Maximum batch size of prefetched nodes for a request.

Value: 50

MOVEMENT_GRANULARITY_CHARACTER

Added in API level 16
static val MOVEMENT_GRANULARITY_CHARACTER: Int

Movement granularity bit for traversing the text of a node by character.

Value: 1

MOVEMENT_GRANULARITY_LINE

Added in API level 16
static val MOVEMENT_GRANULARITY_LINE: Int

Movement granularity bit for traversing the text of a node by line.

Value: 4

MOVEMENT_GRANULARITY_PAGE

Added in API level 16
static val MOVEMENT_GRANULARITY_PAGE: Int

Movement granularity bit for traversing the text of a node by page.

Value: 16

MOVEMENT_GRANULARITY_PARAGRAPH

Added in API level 16
static val MOVEMENT_GRANULARITY_PARAGRAPH: Int

Movement granularity bit for traversing the text of a node by paragraph.

Value: 8

MOVEMENT_GRANULARITY_WORD

Added in API level 16
static val MOVEMENT_GRANULARITY_WORD: Int

Movement granularity bit for traversing the text of a node by word.

Value: 2

Public constructors

AccessibilityNodeInfo

Added in API level 30
AccessibilityNodeInfo()

Creates a new AccessibilityNodeInfo.

AccessibilityNodeInfo

Added in API level 30
AccessibilityNodeInfo(source: View)

Creates a new AccessibilityNodeInfo with the given source.

Parameters
source View: The source view. This value cannot be null.

AccessibilityNodeInfo

Added in API level 30
AccessibilityNodeInfo(
    root: View,
    virtualDescendantId: Int)

Creates a new AccessibilityNodeInfo with the given source.

Parameters
root View: The root of the virtual subtree. This value cannot be null.
virtualDescendantId Int: The id of the virtual descendant.

AccessibilityNodeInfo

Added in API level 30
AccessibilityNodeInfo(info: AccessibilityNodeInfo)

Copy constructor. Creates a new AccessibilityNodeInfo, and this new instance is initialized from the given info.

Parameters
info AccessibilityNodeInfo: The other info. This value cannot be null.

Public methods

addAction

Added in API level 21
open fun addAction(action: AccessibilityNodeInfo.AccessibilityAction!): Unit

Adds an action that can be performed on the node.

To add a standard action use the static constants on AccessibilityAction. To add a custom action create a new AccessibilityAction by passing in a resource id from your application as the action id and an optional label that describes the action. To override one of the standard actions use as the action id of a standard action id such as ACTION_CLICK and an optional label that describes the action.

Use androidx.core.view.ViewCompat#addAccessibilityAction(View, CharSequence, * AccessibilityViewCommand) to register an action directly on the view.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
action AccessibilityNodeInfo.AccessibilityAction!: The action.
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.

addAction

Added in API level 14
Deprecated in API level 21
open fun addAction(action: Int): Unit

Deprecated: This has been deprecated for addAction(android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction)

Adds an action that can be performed on the node.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
action Int: The action.
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.
java.lang.IllegalArgumentException If the argument is not one of the standard actions.

addChild

Added in API level 14
open fun addChild(child: View!): Unit

Adds a child.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService. Note that a view cannot be made its own child.

Parameters
child View!: The child.
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.

addChild

Added in API level 16
open fun addChild(
    root: View!,
    virtualDescendantId: Int
): Unit

Adds a virtual child which is a descendant of the given root. If virtualDescendantId is View#NO_ID the root is added as a child.

A virtual descendant is an imaginary View that is reported as a part of the view hierarchy for accessibility purposes. This enables custom views that draw complex content to report them selves as a tree of virtual views, thus conveying their logical structure. Note that a view cannot be made its own child.

Parameters
root View!: The root of the virtual subtree.
virtualDescendantId Int: The id of the virtual child.

canOpenPopup

Added in API level 19
open fun canOpenPopup(): Boolean

Gets if this node opens a popup or a dialog.

Return
Boolean If the the node opens a popup.

describeContents

Added in API level 14
open fun describeContents(): Int

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. For example, if the object will include a file descriptor in the output of writeToParcel(android.os.Parcel,int), the return value of this method must include the CONTENTS_FILE_DESCRIPTOR bit.

Return
Int a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or android.os.Parcelable#CONTENTS_FILE_DESCRIPTOR

equals

Added in API level 14
open fun equals(other: Any?): Boolean

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
obj the reference object with which to compare.
object This value may be null.
Return
Boolean true if this object is the same as the obj argument; false otherwise.

findAccessibilityNodeInfosByText

Added in API level 14
open fun findAccessibilityNodeInfosByText(text: String!): MutableList<AccessibilityNodeInfo!>!

Finds AccessibilityNodeInfos by text. The match is case insensitive containment. The search is relative to this info i.e. this info is the root of the traversed tree.

Note: If this view hierarchy has a SurfaceView embedding another view hierarchy via SurfaceView#setChildSurfacePackage, there is a limitation that this API won't be able to find the node for the view on the embedded view hierarchy. It's because views don't know about the embedded hierarchies. Instead, you could traverse all the children to find the node.

Parameters
text String!: The searched text.
Return
MutableList<AccessibilityNodeInfo!>! A list of node info.

findAccessibilityNodeInfosByViewId

Added in API level 18
open fun findAccessibilityNodeInfosByViewId(viewId: String): MutableList<AccessibilityNodeInfo!>!

Finds AccessibilityNodeInfos by the fully qualified view id's resource name where a fully qualified id is of the from "package:id/id_resource_name". For example, if the target application's package is "foo.bar" and the id resource name is "baz", the fully qualified resource id is "foo.bar:id/baz".

Note: The primary usage of this API is for UI test automation and in order to report the fully qualified view id if an AccessibilityNodeInfo the client has to set the AccessibilityServiceInfo#FLAG_REPORT_VIEW_IDS flag when configuring the android.accessibilityservice.AccessibilityService.

Note: If this view hierarchy has a SurfaceView embedding another view hierarchy via SurfaceView#setChildSurfacePackage, there is a limitation that this API won't be able to find the node for the view on the embedded view hierarchy. It's because views don't know about the embedded hierarchies. Instead, you could traverse all the children to find the node.

Parameters
viewId String: The fully qualified resource name of the view id to find. This value cannot be null.
Return
MutableList<AccessibilityNodeInfo!>! A list of node info.

findFocus

Added in API level 16
open fun findFocus(focus: Int): AccessibilityNodeInfo!

Find the view that has the specified focus type. The search starts from the view represented by this node info.

Note: If this view hierarchy has a SurfaceView embedding another view hierarchy via SurfaceView#setChildSurfacePackage, there is a limitation that this API won't be able to find the node for the view on the embedded view hierarchy. It's because views don't know about the embedded hierarchies. Instead, you could traverse all the children to find the node. Or, use AccessibilityService#findFocus(int) for FOCUS_ACCESSIBILITY only since it has no such limitation.

Parameters
focus Int: The focus to find. One of FOCUS_INPUT or FOCUS_ACCESSIBILITY.
Return
AccessibilityNodeInfo! The node info of the focused view or null.

focusSearch

Added in API level 16
open fun focusSearch(direction: Int): AccessibilityNodeInfo!

Searches for the nearest view in the specified direction that can take the input focus.

Note: If this view hierarchy has a SurfaceView embedding another view hierarchy via SurfaceView#setChildSurfacePackage, there is a limitation that this API won't be able to find the node for the view in the specified direction on the embedded view hierarchy. It's because views don't know about the embedded hierarchies. Instead, you could traverse all the children to find the node.

Parameters
direction Int: The direction. Can be one of: View#FOCUS_DOWN, View#FOCUS_UP, View#FOCUS_LEFT, View#FOCUS_RIGHT, View#FOCUS_FORWARD, View#FOCUS_BACKWARD.
Return
AccessibilityNodeInfo! The node info for the view that can take accessibility focus.

getActionList

Added in API level 21
open fun getActionList(): MutableList<AccessibilityNodeInfo.AccessibilityAction!>!

Gets the actions that can be performed on the node.

getAvailableExtraData

Added in API level 26
open fun getAvailableExtraData(): MutableList<String!>!

Get the extra data available for this node.

Some data that is useful for some accessibility services is expensive to compute, and would place undue overhead on apps to compute all the time. That data can be requested with refreshWithExtraData(java.lang.String,android.os.Bundle).

Return
MutableList<String!>! An unmodifiable list of keys corresponding to extra data that can be requested.

getBoundsInParent

Added in API level 14
Deprecated in API level 29
open fun getBoundsInParent(outBounds: Rect!): Unit

Deprecated: Use getBoundsInScreen(android.graphics.Rect) instead.

Gets the node bounds in the viewParent's coordinates. getParent() does not represent the source's viewParent. Instead it represents the result of View#getParentForAccessibility(), which returns the closest ancestor where View#isImportantForAccessibility() is true. So this method is not reliable.

When magnification is enabled, the bounds in parent are also scaled up by magnification scale. For example, it returns Rect(20, 20, 200, 200) for original bounds Rect(10, 10, 100, 100), when the magnification scale is 2.

Parameters
outBounds Rect!: The output node bounds.

getBoundsInScreen

Added in API level 14
open fun getBoundsInScreen(outBounds: Rect!): Unit

Gets the node bounds in screen coordinates.

When magnification is enabled, the bounds in screen are scaled up by magnification scale and the positions are also adjusted according to the offset of magnification viewport. For example, it returns Rect(-180, -180, 0, 0) for original bounds Rect(10, 10, 100, 100), when the magnification scale is 2 and offsets for X and Y are both 200.

Parameters
outBounds Rect!: The output node bounds.

getBoundsInWindow

Added in API level 34
open fun getBoundsInWindow(outBounds: Rect): Unit

Gets the node bounds in window coordinates.

When magnification is enabled, the bounds in window are scaled up by magnification scale and the positions are also adjusted according to the offset of magnification viewport. For example, it returns Rect(-180, -180, 0, 0) for original bounds Rect(10, 10, 100, 100), when the magnification scale is 2 and offsets for X and Y are both 200.

Parameters
outBounds Rect: The output node bounds. This value cannot be null.

getChild

Added in API level 14
open fun getChild(index: Int): AccessibilityNodeInfo!

Get the child at given index.

Parameters
index Int: The child index.
Return
AccessibilityNodeInfo! The child node.
Exceptions
java.lang.IllegalStateException If called outside of an AccessibilityService and before calling setQueryFromAppProcessEnabled.

getChildCount

Added in API level 14
open fun getChildCount(): Int

Gets the number of children.

Return
Int The child count.

getClassName

Added in API level 14
open fun getClassName(): CharSequence!

Gets the class this node comes from.

Return
CharSequence! The class name.

getCollectionInfo

Added in API level 19
open fun getCollectionInfo(): AccessibilityNodeInfo.CollectionInfo!

Gets the collection info if the node is a collection. A collection child is always a collection item.

Return
AccessibilityNodeInfo.CollectionInfo! The collection info.

getCollectionItemInfo

Added in API level 19
open fun getCollectionItemInfo(): AccessibilityNodeInfo.CollectionItemInfo!

Gets the collection item info if the node is a collection item. A collection item is always a child of a collection.

Return
AccessibilityNodeInfo.CollectionItemInfo! The collection item info.

getContainerTitle

Added in API level 34
open fun getContainerTitle(): CharSequence?

Returns the container title.

Return
CharSequence? This value may be null.

getContentDescription

Added in API level 14
open fun getContentDescription(): CharSequence!

Gets the content description of this node.

Return
CharSequence! The content description.

getDrawingOrder

Added in API level 24
open fun getDrawingOrder(): Int

Get the drawing order of the view corresponding it this node.

Drawing order is determined only within the node's parent, so this index is only relative to its siblings.

In some cases, the drawing order is essentially simultaneous, so it is possible for two siblings to return the same value. It is also possible that values will be skipped.

Return
Int The drawing position of the view corresponding to this node relative to its siblings.

getError

Added in API level 21
open fun getError(): CharSequence!

Gets the error text of this node.

Return
CharSequence! The error text.

getExtraRenderingInfo

Added in API level 30
open fun getExtraRenderingInfo(): AccessibilityNodeInfo.ExtraRenderingInfo?

Gets the extra rendering info if the node is meant to be refreshed with extra data to examine rendering related accessibility issues.

Return
AccessibilityNodeInfo.ExtraRenderingInfo? The extra rendering info. This value may be null.

getExtras

Added in API level 19
open fun getExtras(): Bundle!

Gets an optional bundle with extra data. The bundle is lazily created and never null.

Note: It is recommended to use the package name of your application as a prefix for the keys to avoid collisions which may confuse an accessibility service if the same key has different meaning when emitted from different applications.

Return
Bundle! The bundle.

getHintText

Added in API level 26
open fun getHintText(): CharSequence!

Gets the hint text of this node. Only applies to nodes where text can be entered.

Return
CharSequence! The hint text.

getInputType

Added in API level 19
open fun getInputType(): Int

Gets the input type of the source as defined by InputType.

Return
Int The input type.

getLabelFor

Added in API level 17
open fun getLabelFor(): AccessibilityNodeInfo!

Gets the node info for which the view represented by this info serves as a label for accessibility purposes.

Return
AccessibilityNodeInfo! The labeled info.

getLabeledBy

Added in API level 17
open fun getLabeledBy(): AccessibilityNodeInfo!

Gets the node info which serves as the label of the view represented by this info for accessibility purposes.

Return
AccessibilityNodeInfo! The label.

getLiveRegion

Added in API level 19
open fun getLiveRegion(): Int

Gets the node's live region mode.

A live region is a node that contains information that is important for the user and when it changes the user should be notified. For example, a Snackbar that displays a confirmation notification should be marked as a live region with mode View#ACCESSIBILITY_LIVE_REGION_POLITE.

It is the responsibility of the accessibility service to monitor AccessibilityEvent#TYPE_WINDOW_CONTENT_CHANGED events indicating changes to live region nodes and their children.

Return
Int The live region mode, or View#ACCESSIBILITY_LIVE_REGION_NONE if the view is not a live region.

getMaxTextLength

Added in API level 21
open fun getMaxTextLength(): Int

Returns the maximum text length for this node.

Return
Int The maximum text length, or -1 for no limit.

getMinDurationBetweenContentChanges

Added in API level 34
open fun getMinDurationBetweenContentChanges(): Duration

Gets the minimum time duration between two content change events.

Return
Duration This value cannot be null.

getMovementGranularities

Added in API level 16
open fun getMovementGranularities(): Int

Gets the movement granularities for traversing the text of this node.

Return
Int The bit mask with granularities.

getPackageName

Added in API level 14
open fun getPackageName(): CharSequence!

Gets the package this node comes from.

Return
CharSequence! The package name.

getPaneTitle

Added in API level 28
open fun getPaneTitle(): CharSequence?

Get the title of the pane represented by this node.

Return
CharSequence? The title of the pane represented by this node, or null if this node does not represent a pane.

getParent

Added in API level 14
open fun getParent(): AccessibilityNodeInfo!

Gets the parent.

Return
AccessibilityNodeInfo! The parent.
Exceptions
java.lang.IllegalStateException If called outside of an AccessibilityService and before calling setQueryFromAppProcessEnabled.

getParent

Added in API level 33
open fun getParent(prefetchingStrategy: Int): AccessibilityNodeInfo?

Gets the parent.

Use prefetchingStrategy to determine the types of nodes prefetched from the app if the requested node is not in the cache and must be retrieved by the app. The default strategy for getParent() is a combination of ancestor and sibling strategies. The app will prefetch until all nodes fulfilling the strategies are fetched, another node request is sent, or the maximum prefetch batch size of MAX_NUMBER_OF_PREFETCHED_NODES nodes is reached. To prevent interruption by another request and to force prefetching of the max batch size, use AccessibilityNodeInfo#FLAG_PREFETCH_UNINTERRUPTIBLE.

Parameters
prefetchingStrategy Int: the prefetching strategy. Value is either 0 or a combination of android.view.accessibility.AccessibilityNodeInfo#FLAG_PREFETCH_ANCESTORS, android.view.accessibility.AccessibilityNodeInfo#FLAG_PREFETCH_SIBLINGS, android.view.accessibility.AccessibilityNodeInfo#FLAG_PREFETCH_DESCENDANTS_HYBRID, android.view.accessibility.AccessibilityNodeInfo#FLAG_PREFETCH_DESCENDANTS_DEPTH_FIRST, android.view.accessibility.AccessibilityNodeInfo#FLAG_PREFETCH_DESCENDANTS_BREADTH_FIRST, and android.view.accessibility.AccessibilityNodeInfo#FLAG_PREFETCH_UNINTERRUPTIBLE
Return
AccessibilityNodeInfo? The parent. This value may be null.
Exceptions
java.lang.IllegalStateException If called outside of an AccessibilityService and before calling setQueryFromAppProcessEnabled.

getRangeInfo

Added in API level 19
open fun getRangeInfo(): AccessibilityNodeInfo.RangeInfo!

Gets the range info if this node is a range.

Return
AccessibilityNodeInfo.RangeInfo! The range.

getStateDescription

Added in API level 30
open fun getStateDescription(): CharSequence?

Get the state description of this node.

Return
CharSequence? the state description This value may be null.

getText

Added in API level 14
open fun getText(): CharSequence!

Gets the text of this node.

Note: If the text contains ClickableSpans or URLSpans, these spans will have been replaced with ones whose ClickableSpan#onClick(View) can be called from an AccessibilityService. When called from a service, the View argument is ignored and the corresponding span will be found on the view that this AccessibilityNodeInfo represents and called with that view as its argument.

This treatment of ClickableSpans means that the text returned from this method may different slightly one passed to setText(java.lang.CharSequence), although they will be equivalent according to TextUtils#equals(CharSequence, CharSequence). The ClickableSpan#onClick(View) of any spans, however, will generally not work outside of an accessibility service.

Return
CharSequence! The text.

getTextSelectionEnd

Added in API level 18
open fun getTextSelectionEnd(): Int

Gets the text selection end if text is selected.

If no text is selected, both this method and AccessibilityNodeInfo#getTextSelectionStart() return the same value: the current location of the cursor.

Return
Int The text selection end, the cursor location if there is no selection, or -1 if there is no text selection and no cursor.

getTextSelectionStart

Added in API level 18
open fun getTextSelectionStart(): Int

Gets the text selection start or the cursor position.

If no text is selected, both this method and AccessibilityNodeInfo#getTextSelectionEnd() return the same value: the current location of the cursor.

Return
Int The text selection start, the cursor location if there is no selection, or -1 if there is no text selection and no cursor.

getTooltipText

Added in API level 28
open fun getTooltipText(): CharSequence?

Gets the tooltip text of this node.

Return
CharSequence? The tooltip text. This value may be null.

getTouchDelegateInfo

Added in API level 29
open fun getTouchDelegateInfo(): AccessibilityNodeInfo.TouchDelegateInfo?

Get the TouchDelegateInfo for touch delegate behavior with the represented view. It is possible for the same node to be pointed to by several regions. Use TouchDelegateInfo#getRegionAt(int) to get touch delegate target Region, and TouchDelegateInfo#getTargetForRegion(Region) for AccessibilityNodeInfo from the given region.

Return
AccessibilityNodeInfo.TouchDelegateInfo? TouchDelegateInfo or null if there are no touch delegates.

getTraversalAfter

Added in API level 22
open fun getTraversalAfter(): AccessibilityNodeInfo!

Gets the node after which this one is visited in accessibility traversal. A screen-reader must visit the content of the other node before the content of this one.

Return
AccessibilityNodeInfo! The succeeding node if such or null.

getTraversalBefore

Added in API level 22
open fun getTraversalBefore(): AccessibilityNodeInfo!

Gets the node before which this one is visited during traversal. A screen-reader must visit the content of this node before the content of the one it precedes.

Return
AccessibilityNodeInfo! The succeeding node if such or null.

getUniqueId

Added in API level 33
open fun getUniqueId(): String?

Gets the unique id of the node.

Return
String? The unique id This value may be null.

getViewIdResourceName

Added in API level 18
open fun getViewIdResourceName(): String!

Gets the fully qualified resource name of the source view's id.

Note: The primary usage of this API is for UI test automation and in order to report the source view id of an AccessibilityNodeInfo the client has to set the AccessibilityServiceInfo#FLAG_REPORT_VIEW_IDS flag when configuring the android.accessibilityservice.AccessibilityService.

Return
String! The id resource name.

getWindow

Added in API level 21
open fun getWindow(): AccessibilityWindowInfo!

Gets the window to which this node belongs.

Return
AccessibilityWindowInfo! The window.

getWindowId

Added in API level 14
open fun getWindowId(): Int

Gets the id of the window from which the info comes from.

Return
Int The window id.

hasRequestInitialAccessibilityFocus

Added in API level 34
open fun hasRequestInitialAccessibilityFocus(): Boolean

Gets whether the node has setRequestInitialAccessibilityFocus.

Return
Boolean True if the node has requested initial accessibility focus.

hashCode

Added in API level 14
open fun hashCode(): Int
Return
Int a hash code value for this object.

isAccessibilityDataSensitive

Added in API level 34
open fun isAccessibilityDataSensitive(): Boolean

Gets if the node's accessibility data is considered sensitive.

Return
Boolean True if the node's data is considered sensitive, false otherwise.

isAccessibilityFocused

Added in API level 16
open fun isAccessibilityFocused(): Boolean

Gets whether this node is accessibility focused.

This is distinct from isFocused(), which is used to track system focus. See ACTION_ACCESSIBILITY_FOCUS for details.

Return
Boolean True if the node is accessibility focused.

isCheckable

Added in API level 14
open fun isCheckable(): Boolean

Gets whether this node is checkable.

Return
Boolean True if the node is checkable.

isChecked

Added in API level 14
open fun isChecked(): Boolean

Gets whether this node is checked.

Return
Boolean True if the node is checked.

isClickable

Added in API level 14
open fun isClickable(): Boolean

Gets whether this node is clickable.

Return
Boolean True if the node is clickable.

isContentInvalid

Added in API level 19
open fun isContentInvalid(): Boolean

Gets if the content of this node is invalid. For example, a date is not well-formed.

Return
Boolean If the node content is invalid.

isContextClickable

Added in API level 23
open fun isContextClickable(): Boolean

Gets whether this node is context clickable.

Return
Boolean True if the node is context clickable.

isDismissable

Added in API level 19
open fun isDismissable(): Boolean

Gets if the node can be dismissed.

Return
Boolean If the node can be dismissed.

isEditable

Added in API level 18
open fun isEditable(): Boolean

Gets if the node is editable.

Return
Boolean True if the node is editable, false otherwise.

isEnabled

Added in API level 14
open fun isEnabled(): Boolean

Gets whether this node is enabled.

Return
Boolean True if the node is enabled.

isFocusable

Added in API level 14
open fun isFocusable(): Boolean

Gets whether this node is focusable.

In the View system, this typically maps to View#isFocusable().

Return
Boolean True if the node is focusable.

isFocused

Added in API level 14
open fun isFocused(): Boolean

Gets whether this node is focused.

This is distinct from isAccessibilityFocused(), which is used by screen readers. See AccessibilityAction#ACTION_ACCESSIBILITY_FOCUS for details.

Return
Boolean True if the node is focused.

isHeading

Added in API level 28
open fun isHeading(): Boolean

Returns whether node represents a heading.

Note: Returns true if either setHeading(boolean) marks this node as a heading or if the node has a CollectionItemInfo that marks it as such, to accomodate apps that use the now-deprecated API.

Return
Boolean true if the node is a heading, false otherwise.

isImportantForAccessibility

Added in API level 24
open fun isImportantForAccessibility(): Boolean

Returns whether the node originates from a view considered important for accessibility.

Return
Boolean true if the node originates from a view considered important for accessibility, false otherwise

isLongClickable

Added in API level 14
open fun isLongClickable(): Boolean

Gets whether this node is long clickable.

Return
Boolean True if the node is long clickable.

isMultiLine

Added in API level 19
open fun isMultiLine(): Boolean

Gets if the node is a multi line editable text.

Return
Boolean True if the node is multi line.

isPassword

Added in API level 14
open fun isPassword(): Boolean

Gets whether this node is a password.

Return
Boolean True if the node is a password.

isScreenReaderFocusable

Added in API level 28
open fun isScreenReaderFocusable(): Boolean

Returns whether the node is explicitly marked as a focusable unit by a screen reader. Note that false indicates that it is not explicitly marked, not that the node is not a focusable unit. Screen readers should generally use other signals, such as isFocusable(), or the presence of text in a node, to determine what should receive focus.

Return
Boolean true if the node is specifically marked as a focusable unit for screen readers, false otherwise.

isScrollable

Added in API level 14
open fun isScrollable(): Boolean

Gets if the node is scrollable.

Return
Boolean True if the node is scrollable, false otherwise.

isSelected

Added in API level 14
open fun isSelected(): Boolean

Gets whether this node is selected.

Return
Boolean True if the node is selected.

isShowingHintText

Added in API level 26
open fun isShowingHintText(): Boolean

Returns whether the node's text represents a hint for the user to enter text. It should only be true if the node has editable text.

Return
Boolean true if the text in the node represents a hint to the user, false otherwise.

isTextEntryKey

Added in API level 29
open fun isTextEntryKey(): Boolean

Returns whether node represents a text entry key that is part of a keyboard or keypad.

Return
Boolean true if the node is a text entry key., false otherwise.

isTextSelectable

Added in API level 33
open fun isTextSelectable(): Boolean

Gets if the node has selectable text.

Services should use ACTION_SET_SELECTION for selection. Editable text nodes must also be selectable. But not all UIs will populate this field, so services should consider 'isTextSelectable | isEditable' to ensure they don't miss nodes with selectable text.

Return
Boolean True if the node has selectable text.

See Also

isVisibleToUser

Added in API level 16
open fun isVisibleToUser(): Boolean

Gets whether this node is visible to the user.

Between API 16 and API 29, this method may incorrectly return false when magnification is enabled. On other versions, a node is considered visible even if it is not on the screen because magnification is active.

Return
Boolean Whether the node is visible to the user.

obtain

Added in API level 14
Deprecated in API level 33
open static fun obtain(source: View!): AccessibilityNodeInfo!

Deprecated: Object pooling has been discontinued. Create a new instance using the constructor AccessibilityNodeInfo(android.view.View) instead.

Returns a cached instance if such is available otherwise a new one and sets the source.

Parameters
source View!: The source view.
Return
AccessibilityNodeInfo! An instance.

See Also

obtain

Added in API level 16
Deprecated in API level 33
open static fun obtain(
    root: View!,
    virtualDescendantId: Int
): AccessibilityNodeInfo!

Deprecated: Object pooling has been discontinued. Create a new instance using the constructor AccessibilityNodeInfo(android.view.View,int) instead.

Returns a cached instance if such is available otherwise a new one and sets the source.

Parameters
root View!: The root of the virtual subtree.
virtualDescendantId Int: The id of the virtual descendant.
Return
AccessibilityNodeInfo! An instance.

obtain

Added in API level 14
Deprecated in API level 33
open static fun obtain(): AccessibilityNodeInfo!

Deprecated: Object pooling has been discontinued. Create a new instance using the constructor AccessibilityNodeInfo() instead.

Instantiates a new AccessibilityNodeInfo.

Return
AccessibilityNodeInfo! An instance.

obtain

Added in API level 14
Deprecated in API level 33
open static fun obtain(info: AccessibilityNodeInfo!): AccessibilityNodeInfo!

Deprecated: Object pooling has been discontinued. Create a new instance using the constructor AccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo) instead.

Instantiates a new AccessibilityNodeInfo initialized from the given info.

Parameters
info AccessibilityNodeInfo!: The other info.
Return
AccessibilityNodeInfo! An instance.

performAction

Added in API level 14
open fun performAction(action: Int): Boolean

Performs an action on the node.

Note: An action can be performed only if the request is made from an android.accessibilityservice.AccessibilityService.

Parameters
action Int: The action to perform.
Return
Boolean True if the action was performed.
Exceptions
java.lang.IllegalStateException If called outside of an AccessibilityService.

performAction

Added in API level 16
open fun performAction(
    action: Int,
    arguments: Bundle!
): Boolean

Performs an action on the node.

Note: An action can be performed only if the request is made from an android.accessibilityservice.AccessibilityService.

Parameters
action Int: The action to perform.
arguments Bundle!: A bundle with additional arguments.
Return
Boolean True if the action was performed.
Exceptions
java.lang.IllegalStateException If called outside of an AccessibilityService.

recycle

Added in API level 14
Deprecated in API level 33
open fun recycle(): Unit

Deprecated: Object pooling has been discontinued. Calling this function now will have no effect.

Would previously return an instance back to be reused.

refresh

Added in API level 18
open fun refresh(): Boolean

Refreshes this info with the latest state of the view it represents.

Return
Boolean true if the refresh succeeded. false if the View represented by this node is no longer in the view tree (and thus this node is obsolete).

refreshWithExtraData

Added in API level 26
open fun refreshWithExtraData(
    extraDataKey: String!,
    args: Bundle!
): Boolean

Refreshes this info with the latest state of the view it represents, and request new data be added by the View.

Parameters
extraDataKey String!: The extra data requested. Data that must be requested with this mechanism is generally expensive to retrieve, so should only be requested when needed. See EXTRA_DATA_RENDERING_INFO_KEY, EXTRA_DATA_TEXT_CHARACTER_LOCATION_KEY, getAvailableExtraData() and getExtraRenderingInfo().
args Bundle!: A bundle of arguments for the request. These depend on the particular request.
Return
Boolean true if the refresh succeeded. false if the View represented by this node is no longer in the view tree (and thus this node is obsolete).

removeAction

Added in API level 21
Deprecated in API level 21
open fun removeAction(action: Int): Unit

Deprecated: Use removeAction(android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction)

Removes an action that can be performed on the node. If the action was not already added to the node, calling this method has no effect.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
action Int: The action to be removed.
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.

removeAction

Added in API level 21
open fun removeAction(action: AccessibilityNodeInfo.AccessibilityAction!): Boolean

Removes an action that can be performed on the node. If the action was not already added to the node, calling this method has no effect.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
action AccessibilityNodeInfo.AccessibilityAction!: The action to be removed.
Return
Boolean The action removed from the list of actions.
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.

removeChild

Added in API level 21
open fun removeChild(child: View!): Boolean

Removes a child. If the child was not previously added to the node, calling this method has no effect.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
child View!: The child.
Return
Boolean true if the child was present
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.

removeChild

Added in API level 21
open fun removeChild(
    root: View!,
    virtualDescendantId: Int
): Boolean

Removes a virtual child which is a descendant of the given root. If the child was not previously added to the node, calling this method has no effect.

Parameters
root View!: The root of the virtual subtree.
virtualDescendantId Int: The id of the virtual child.
Return
Boolean true if the child was present

setAccessibilityDataSensitive

Added in API level 34
open fun setAccessibilityDataSensitive(accessibilityDataSensitive: Boolean): Unit

Sets whether this node's accessibility data is considered sensitive.

Note: Cannot be called from an AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
accessibilityDataSensitive Boolean: True if the node's accessibility data is considered sensitive.
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.

setAccessibilityFocused

Added in API level 16
open fun setAccessibilityFocused(focused: Boolean): Unit

Sets whether this node is accessibility focused.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

The UI element updating this property should send an event of AccessibilityEvent#TYPE_VIEW_ACCESSIBILITY_FOCUSED or AccessibilityEvent#TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED if its accessibility-focused state changes.

Parameters
focused Boolean: True if the node is accessibility focused.
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.

setAvailableExtraData

Added in API level 26
open fun setAvailableExtraData(extraDataKeys: MutableList<String!>!): Unit

Set the extra data available for this node.

Note: When a View passes in a non-empty list, it promises that it will populate the node's extras with corresponding pieces of information in View#addExtraDataToAccessibilityNodeInfo(AccessibilityNodeInfo, String, Bundle).

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
extraDataKeys MutableList<String!>!: A list of types of extra data that are available.
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.

setBoundsInParent

Added in API level 14
Deprecated in API level 29
open fun setBoundsInParent(bounds: Rect!): Unit

Deprecated: Accessibility services should not care about these bounds.

Sets the node bounds in the viewParent's coordinates. getParent() does not represent the source's viewParent. Instead it represents the result of View#getParentForAccessibility(), which returns the closest ancestor where View#isImportantForAccessibility() is true. So this method is not reliable.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
bounds Rect!: The node bounds.
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.

setBoundsInScreen

Added in API level 14
open fun setBoundsInScreen(bounds: Rect!): Unit

Sets the node bounds in screen coordinates.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
bounds Rect!: The node bounds.
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.

setBoundsInWindow

Added in API level 34
open fun setBoundsInWindow(bounds: Rect): Unit

Sets the node bounds in window coordinates.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
bounds Rect: The node bounds. This value cannot be null.
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.

setCanOpenPopup

Added in API level 19
open fun setCanOpenPopup(opensPopup: Boolean): Unit

Sets if this node opens a popup or a dialog.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
opensPopup Boolean: If the the node opens a popup.

setCheckable

Added in API level 14
open fun setCheckable(checkable: Boolean): Unit

Sets whether this node is checkable.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
checkable Boolean: True if the node is checkable.
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.

setChecked

Added in API level 14
open fun setChecked(checked: Boolean): Unit

Sets whether this node is checked.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
checked Boolean: True if the node is checked.
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.

setClassName

Added in API level 14
open fun setClassName(className: CharSequence!): Unit

Sets the class this node comes from.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
className CharSequence!: The class name.
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.

setClickable

Added in API level 14
open fun setClickable(clickable: Boolean): Unit

Sets whether this node is clickable.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
clickable Boolean: True if the node is clickable.
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.

setCollectionInfo

Added in API level 19
open fun setCollectionInfo(collectionInfo: AccessibilityNodeInfo.CollectionInfo!): Unit

Sets the collection info if the node is a collection. A collection child is always a collection item.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
collectionInfo AccessibilityNodeInfo.CollectionInfo!: The collection info.

setCollectionItemInfo

Added in API level 19
open fun setCollectionItemInfo(collectionItemInfo: AccessibilityNodeInfo.CollectionItemInfo!): Unit

Sets the collection item info if the node is a collection item. A collection item is always a child of a collection.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

setContainerTitle

Added in API level 34
open fun setContainerTitle(containerTitle: CharSequence?): Unit

Sets the container title for app-developer-defined container which can be any type of ViewGroup or layout. Container title will be used to group together related controls, similar to HTML fieldset. Or container title may identify a large piece of the UI that is visibly grouped together, such as a toolbar or a card, etc.

Container title helps to assist in navigation across containers and other groups. For example, a screen reader may use this to determine where to put accessibility focus.

Container title is different from pane titlesetPaneTitle which indicates that the node represents a window or activity.

Example: An app can set container titles on several non-modal menus, containing TextViews or ImageButtons that have content descriptions, text, etc. Screen readers can quickly switch accessibility focus among menus instead of child views. Other accessibility-services can easily find the menu.

Parameters
containerTitle CharSequence?: The container title that is associated with a ViewGroup/Layout on the screen. This value may be null.

setContentDescription

Added in API level 14
open fun setContentDescription(contentDescription: CharSequence!): Unit

Sets the content description of this node.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
contentDescription CharSequence!: The content description.
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.

setContentInvalid

Added in API level 19
open fun setContentInvalid(contentInvalid: Boolean): Unit

Sets if the content of this node is invalid. For example, a date is not well-formed.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
contentInvalid Boolean: If the node content is invalid.

setContextClickable

Added in API level 23
open fun setContextClickable(contextClickable: Boolean): Unit

Sets whether this node is context clickable.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
contextClickable Boolean: True if the node is context clickable.
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.

setDismissable

Added in API level 19
open fun setDismissable(dismissable: Boolean): Unit

Sets if the node can be dismissed.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
dismissable Boolean: If the node can be dismissed.

setDrawingOrder

Added in API level 24
open fun setDrawingOrder(drawingOrderInParent: Int): Unit

Set the drawing order of the view corresponding it this node.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
drawingOrderInParent Int:
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.

setEditable

Added in API level 18
open fun setEditable(editable: Boolean): Unit

Sets whether this node is editable.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
editable Boolean: True if the node is editable.
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.

setEnabled

Added in API level 14
open fun setEnabled(enabled: Boolean): Unit

Sets whether this node is enabled.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
enabled Boolean: True if the node is enabled.
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.

setError

Added in API level 21
open fun setError(error: CharSequence!): Unit

Sets the error text of this node.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
error CharSequence!: The error text.
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.

setFocusable

Added in API level 14
open fun setFocusable(focusable: Boolean): Unit

Sets whether this node is focusable.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

To mark a node as explicitly focusable for a screen reader, consider using setScreenReaderFocusable(boolean) instead.

Parameters
focusable Boolean: True if the node is focusable.
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.

setFocused

Added in API level 14
open fun setFocused(focused: Boolean): Unit

Sets whether this node is focused.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
focused Boolean: True if the node is focused.
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.

setHeading

Added in API level 28
open fun setHeading(isHeading: Boolean): Unit

Sets whether the node represents a heading.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
isHeading Boolean: true if the node is a heading, false otherwise.

setHintText

Added in API level 26
open fun setHintText(hintText: CharSequence!): Unit

Sets the hint text of this node. Only applies to nodes where text can be entered.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
hintText CharSequence!: The hint text for this mode.
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.

setImportantForAccessibility

Added in API level 24
open fun setImportantForAccessibility(important: Boolean): Unit

Sets whether the node is considered important for accessibility.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
important Boolean: true if the node is considered important for accessibility, false otherwise

setInputType

Added in API level 19
open fun setInputType(inputType: Int): Unit

Sets the input type of the source as defined by InputType.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
inputType Int: The input type.
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.

setLabelFor

Added in API level 17
open fun setLabelFor(labeled: View!): Unit

Sets the view for which the view represented by this info serves as a label for accessibility purposes.

Parameters
labeled View!: The view for which this info serves as a label.

setLabelFor

Added in API level 17
open fun setLabelFor(
    root: View!,
    virtualDescendantId: Int
): Unit

Sets the view for which the view represented by this info serves as a label for accessibility purposes. If virtualDescendantId is View#NO_ID the root is set as the labeled.

A virtual descendant is an imaginary View that is reported as a part of the view hierarchy for accessibility purposes. This enables custom views that draw complex content to report themselves as a tree of virtual views, thus conveying their logical structure.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
root View!: The root whose virtual descendant serves as a label.
virtualDescendantId Int: The id of the virtual descendant.

setLabeledBy

Added in API level 17
open fun setLabeledBy(label: View!): Unit

Sets the view which serves as the label of the view represented by this info for accessibility purposes.

Parameters
label View!: The view that labels this node's source.

setLabeledBy

Added in API level 17
open fun setLabeledBy(
    root: View!,
    virtualDescendantId: Int
): Unit

Sets the view which serves as the label of the view represented by this info for accessibility purposes. If virtualDescendantId is View#NO_ID the root is set as the label.

A virtual descendant is an imaginary View that is reported as a part of the view hierarchy for accessibility purposes. This enables custom views that draw complex content to report themselves as a tree of virtual views, thus conveying their logical structure.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
root View!: The root whose virtual descendant labels this node's source.
virtualDescendantId Int: The id of the virtual descendant.

setLiveRegion

Added in API level 19
open fun setLiveRegion(mode: Int): Unit

Sets the node's live region mode.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
mode Int: The live region mode, or View#ACCESSIBILITY_LIVE_REGION_NONE if the view is not a live region.

setLongClickable

Added in API level 14
open fun setLongClickable(longClickable: Boolean): Unit

Sets whether this node is long clickable.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
longClickable Boolean: True if the node is long clickable.
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.

setMaxTextLength

Added in API level 21
open fun setMaxTextLength(max: Int): Unit

Sets the maximum text length, or -1 for no limit.

Typically used to indicate that an editable text field has a limit on the number of characters entered.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
max Int: The maximum text length.
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.

setMinDurationBetweenContentChanges

Added in API level 34
open fun setMinDurationBetweenContentChanges(duration: Duration): Unit

Sets the minimum time duration between two content change events, which is used in throttling content change events in accessibility services.

Example: An app can set MinMillisBetweenContentChanges as 1 min for a view which sends content change events to accessibility services one event per second. Accessibility service will throttle those content change events and only handle one event per minute for that view.

Parameters
duration Duration: the minimum duration between content change events. Negative duration would be treated as zero. This value cannot be null.

setMovementGranularities

Added in API level 16
open fun setMovementGranularities(granularities: Int): Unit

Sets the movement granularities for traversing the text of this node.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
granularities Int: The bit mask with granularities.
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.

setMultiLine

Added in API level 19
open fun setMultiLine(multiLine: Boolean): Unit

Sets if the node is a multi line editable text.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
multiLine Boolean: True if the node is multi line.

setPackageName

Added in API level 14
open fun setPackageName(packageName: CharSequence!): Unit

Sets the package this node comes from.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
packageName CharSequence!: The package name.
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.

setPaneTitle

Added in API level 28
open fun setPaneTitle(paneTitle: CharSequence?): Unit

If this node represents a visually distinct region of the screen that may update separately from the rest of the window, it is considered a pane. Set the pane title to indicate that the node is a pane, and to provide a title for it.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
paneTitle CharSequence?: The title of the pane represented by this node. This value may be null.

setParent

Added in API level 14
open fun setParent(parent: View!): Unit

Sets the parent.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
parent View!: The parent.
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.

setParent

Added in API level 16
open fun setParent(
    root: View!,
    virtualDescendantId: Int
): Unit

Sets the parent to be a virtual descendant of the given root. If virtualDescendantId equals to View#NO_ID the root is set as the parent.

A virtual descendant is an imaginary View that is reported as a part of the view hierarchy for accessibility purposes. This enables custom views that draw complex content to report them selves as a tree of virtual views, thus conveying their logical structure.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
root View!: The root of the virtual subtree.
virtualDescendantId Int: The id of the virtual descendant.

setPassword

Added in API level 14
open fun setPassword(password: Boolean): Unit

Sets whether this node is a password.

Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

Parameters
password Boolean: True if the node is a password.
Exceptions
java.lang.IllegalStateException If called from an AccessibilityService.

setQueryFromAppProcessEnabled

Added in API level 34
open fun setQueryFromAppProcessEnabled(
    view: View,
    enabled: Boolean
): Unit

Connects this node to the View's root so that operations on this node can query the entire AccessibilityNodeInfo tree and perform accessibility actions on nodes.

Testing or debugging tools should create this AccessibilityNodeInfo node using View#createAccessibilityNodeInfo() or AccessibilityNodeProvider and call this method, then navigate and interact with the node tree by calling methods on the node. Calling this method more than once on the same node is a no-op. After calling this method, all nodes linked to this node (children, ancestors, etc.) are also queryable.

Here "query" refers to the following node operations:

  • check properties of this node (example: isScrollable())
  • find and query children (example: getChild(int))
  • find and query the parent (example: getParent())
  • find focus (examples: findFocus(int), focusSearch(int))
  • find and query other nodes (example: findAccessibilityNodeInfosByText(java.lang.String), findAccessibilityNodeInfosByViewId(java.lang.String))
  • perform actions (example: performAction(int))
  • This is intended for short-lived inspections from testing or debugging tools in the app process, as operations on this node tree will only succeed as long as the associated view hierarchy remains attached to a window. AccessibilityNodeInfo objects can quickly become out of sync with their corresponding View objects; if you wish to inspect a changed or different view hierarchy then create a new node from any view in that hierarchy and call this method on that new node, instead of disabling & re-enabling the connection on the previous node.

    Parameters
    view View: The view that generated this node, or any view in the same view-root hierarchy. This value cannot be null.
    enabled Boolean: Whether to enable (true) or disable (false) querying from the app process.
    Exceptions
    java.lang.IllegalStateException If called from an AccessibilityService, or if provided a View that is not attached to a window.

    setRangeInfo

    Added in API level 19
    open fun setRangeInfo(rangeInfo: AccessibilityNodeInfo.RangeInfo!): Unit

    Sets the range info if this node is a range.

    Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

    Parameters
    rangeInfo AccessibilityNodeInfo.RangeInfo!: The range info.

    setRequestInitialAccessibilityFocus

    Added in API level 34
    open fun setRequestInitialAccessibilityFocus(requestInitialAccessibilityFocus: Boolean): Unit

    Sets whether the node has requested initial accessibility focus.

    If the node hasRequestInitialAccessibilityFocus, this node would be one of candidates to be accessibility focused when the window appears.

    Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

    Parameters
    requestInitialAccessibilityFocus Boolean: True if the node requests to receive initial accessibility focus.
    Exceptions
    java.lang.IllegalStateException If called from an AccessibilityService.

    setScreenReaderFocusable

    Added in API level 28
    open fun setScreenReaderFocusable(screenReaderFocusable: Boolean): Unit

    Sets whether the node should be considered a focusable unit by a screen reader.

    Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

    This can be used to group related content.

    Parameters
    screenReaderFocusable Boolean: true if the node is a focusable unit for screen readers, false otherwise.

    setScrollable

    Added in API level 14
    open fun setScrollable(scrollable: Boolean): Unit

    Sets if the node is scrollable.

    Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

    Parameters
    scrollable Boolean: True if the node is scrollable, false otherwise.
    Exceptions
    java.lang.IllegalStateException If called from an AccessibilityService.

    setSelected

    Added in API level 14
    open fun setSelected(selected: Boolean): Unit

    Sets whether this node is selected.

    Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

    Parameters
    selected Boolean: True if the node is selected.
    Exceptions
    java.lang.IllegalStateException If called from an AccessibilityService.

    setShowingHintText

    Added in API level 26
    open fun setShowingHintText(showingHintText: Boolean): Unit

    Sets whether the node's text represents a hint for the user to enter text. It should only be true if the node has editable text.

    Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

    Parameters
    showingHintText Boolean: true if the text in the node represents a hint to the user, false otherwise.

    setSource

    Added in API level 14
    open fun setSource(source: View!): Unit

    Sets the source.

    Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

    Parameters
    source View!: The info source.

    setSource

    Added in API level 16
    open fun setSource(
        root: View!,
        virtualDescendantId: Int
    ): Unit

    Sets the source to be a virtual descendant of the given root. If virtualDescendantId is View#NO_ID the root is set as the source.

    A virtual descendant is an imaginary View that is reported as a part of the view hierarchy for accessibility purposes. This enables custom views that draw complex content to report themselves as a tree of virtual views, thus conveying their logical structure.

    Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

    Parameters
    root View!: The root of the virtual subtree.
    virtualDescendantId Int: The id of the virtual descendant.

    setStateDescription

    Added in API level 30
    open fun setStateDescription(stateDescription: CharSequence?): Unit

    Sets the state description of this node.

    Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

    Parameters
    stateDescription CharSequence?: the state description of this node. This value may be null.
    Exceptions
    java.lang.IllegalStateException If called from an AccessibilityService.

    setText

    Added in API level 14
    open fun setText(text: CharSequence!): Unit

    Sets the text of this node.

    Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

    Parameters
    text CharSequence!: The text.
    Exceptions
    java.lang.IllegalStateException If called from an AccessibilityService.

    setTextEntryKey

    Added in API level 29
    open fun setTextEntryKey(isTextEntryKey: Boolean): Unit

    Sets whether the node represents a text entry key that is part of a keyboard or keypad.

    Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

    Parameters
    isTextEntryKey Boolean: true if the node is a text entry key, false otherwise.

    setTextSelectable

    Added in API level 33
    open fun setTextSelectable(selectableText: Boolean): Unit

    Sets if the node has selectable text.

    Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

    Parameters
    selectableText Boolean: True if the node has selectable text, false otherwise.
    Exceptions
    java.lang.IllegalStateException If called from an AccessibilityService.

    setTextSelection

    Added in API level 18
    open fun setTextSelection(
        start: Int,
        end: Int
    ): Unit

    Sets the text selection start and end.

    Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

    Parameters
    start Int: The text selection start.
    end Int: The text selection end.
    Exceptions
    java.lang.IllegalStateException If called from an AccessibilityService.

    setTooltipText

    Added in API level 28
    open fun setTooltipText(tooltipText: CharSequence?): Unit

    Sets the tooltip text of this node.

    Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

    Parameters
    tooltipText CharSequence?: The tooltip text. This value may be null.
    Exceptions
    java.lang.IllegalStateException If called from an AccessibilityService.

    setTouchDelegateInfo

    Added in API level 29
    open fun setTouchDelegateInfo(delegatedInfo: AccessibilityNodeInfo.TouchDelegateInfo): Unit

    Set touch delegate info if the represented view has a TouchDelegate.

    Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

    Parameters
    delegatedInfo AccessibilityNodeInfo.TouchDelegateInfo: TouchDelegateInfo returned from TouchDelegate#getTouchDelegateInfo(). This value cannot be null.
    Exceptions
    java.lang.IllegalStateException If called from an AccessibilityService.

    setTraversalAfter

    Added in API level 22
    open fun setTraversalAfter(view: View!): Unit

    Sets the view whose node is visited after this one in accessibility traversal. A screen-reader must visit the content of the other node before the content of this one.

    Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

    Parameters
    view View!: The previous view.

    setTraversalAfter

    Added in API level 22
    open fun setTraversalAfter(
        root: View!,
        virtualDescendantId: Int
    ): Unit

    Sets the node after which this one is visited in accessibility traversal. A screen-reader must visit the content of the other node before the content of this one. If virtualDescendantId equals to View#NO_ID the root is set as the predecessor.

    A virtual descendant is an imaginary View that is reported as a part of the view hierarchy for accessibility purposes. This enables custom views that draw complex content to report them selves as a tree of virtual views, thus conveying their logical structure.

    Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

    Parameters
    root View!: The root of the virtual subtree.
    virtualDescendantId Int: The id of the virtual descendant.

    setTraversalBefore

    Added in API level 22
    open fun setTraversalBefore(view: View!): Unit

    Sets the view before whose node this one should be visited during traversal. A screen-reader must visit the content of this node before the content of the one it precedes.

    Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

    Parameters
    view View!: The view providing the preceding node.

    setTraversalBefore

    Added in API level 22
    open fun setTraversalBefore(
        root: View!,
        virtualDescendantId: Int
    ): Unit

    Sets the node before which this one is visited during traversal. A screen-reader must visit the content of this node before the content of the one it precedes. The successor is a virtual descendant of the given root. If virtualDescendantId equals to View#NO_ID the root is set as the successor.

    A virtual descendant is an imaginary View that is reported as a part of the view hierarchy for accessibility purposes. This enables custom views that draw complex content to report them selves as a tree of virtual views, thus conveying their logical structure.

    Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

    Parameters
    root View!: The root of the virtual subtree.
    virtualDescendantId Int: The id of the virtual descendant.

    setUniqueId

    Added in API level 33
    open fun setUniqueId(uniqueId: String?): Unit

    Sets the unique id to act as a key to identify the node. If the node instance is replaced after refreshing the layout, calling this API to assign the same unique id to the new alike node can help accessibility service to identify it.

    Parameters
    uniqueId String?: The unique id that is associated with a visible node on the screen This value may be null.

    setViewIdResourceName

    Added in API level 18
    open fun setViewIdResourceName(viewIdResName: String!): Unit

    Sets the fully qualified resource name of the source view's id.

    Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

    Parameters
    viewIdResName String!: The id resource name.

    setVisibleToUser

    Added in API level 16
    open fun setVisibleToUser(visibleToUser: Boolean): Unit

    Sets whether this node is visible to the user.

    Note: Cannot be called from an android.accessibilityservice.AccessibilityService. This class is made immutable before being delivered to an AccessibilityService.

    Parameters
    visibleToUser Boolean: Whether the node is visible to the user.
    Exceptions
    java.lang.IllegalStateException If called from an AccessibilityService.

    toString

    Added in API level 14
    open fun toString(): String
    Return
    String a string representation of the object.

    writeToParcel

    Added in API level 14
    open fun writeToParcel(
        parcel: Parcel,
        flags: Int
    ): Unit

    Flatten this object in to a Parcel.

    Note: After the instance is written to a parcel it is recycled. You must not touch the object after calling this function.

    Parameters
    dest The Parcel in which the object should be written. This value cannot be null.
    flags Int: Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE. Value is either 0 or a combination of android.os.Parcelable#PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES

    Properties