public class

AccessibilityNodeInfo

extends Object
implements Parcelable
java.lang.Object
   ↳ android.view.accessibility.AccessibilityNodeInfo

Class Overview

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 AccessibilityService a window content is presented as tree of accessibility node info 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.

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

Summary

Constants
int ACTION_CLEAR_FOCUS Action that unfocuses the node.
int ACTION_CLEAR_SELECTION Action that unselects the node.
int ACTION_FOCUS Action that focuses the node.
int ACTION_SELECT Action that selects the node.
[Expand]
Inherited Constants
From interface android.os.Parcelable
Fields
public static final Creator<AccessibilityNodeInfo> CREATOR
Public Methods
void addAction(int action)
Adds an action that can be performed on the node.
void addChild(View child)
Adds a child.
int describeContents()
Describe the kinds of special objects contained in this Parcelable's marshalled representation.
boolean equals(Object object)
Compares this instance with the specified object and indicates if they are equal.
List<AccessibilityNodeInfo> findAccessibilityNodeInfosByText(String text)
Finds AccessibilityNodeInfos by text.
int getActions()
Gets the actions that can be performed on the node.
void getBoundsInParent(Rect outBounds)
Gets the node bounds in parent coordinates.
void getBoundsInScreen(Rect outBounds)
Gets the node bounds in screen coordinates.
AccessibilityNodeInfo getChild(int index)
Get the child at given index.
int getChildCount()
Gets the number of children.
CharSequence getClassName()
Gets the class this node comes from.
CharSequence getContentDescription()
Gets the content description of this node.
CharSequence getPackageName()
Gets the package this node comes from.
AccessibilityNodeInfo getParent()
Gets the parent.
CharSequence getText()
Gets the text of this node.
int getWindowId()
Gets the id of the window from which the info comes from.
int hashCode()
Returns an integer hash code for this object.
boolean isCheckable()
Gets whether this node is checkable.
boolean isChecked()
Gets whether this node is checked.
boolean isClickable()
Gets whether this node is clickable.
boolean isEnabled()
Gets whether this node is enabled.
boolean isFocusable()
Gets whether this node is focusable.
boolean isFocused()
Gets whether this node is focused.
boolean isLongClickable()
Gets whether this node is long clickable.
boolean isPassword()
Gets whether this node is a password.
boolean isScrollable()
Gets if the node is scrollable.
boolean isSelected()
Gets whether this node is selected.
static AccessibilityNodeInfo obtain(AccessibilityNodeInfo info)
Returns a cached instance if such is available or a new one is create.
static AccessibilityNodeInfo obtain()
Returns a cached instance if such is available otherwise a new one.
static AccessibilityNodeInfo obtain(View source)
Returns a cached instance if such is available otherwise a new one and sets the source.
boolean performAction(int action)
Performs an action on the node.
void recycle()
Return an instance back to be reused.
void setBoundsInParent(Rect bounds)
Sets the node bounds in parent coordinates.
void setBoundsInScreen(Rect bounds)
Sets the node bounds in screen coordinates.
void setCheckable(boolean checkable)
Sets whether this node is checkable.
void setChecked(boolean checked)
Sets whether this node is checked.
void setClassName(CharSequence className)
Sets the class this node comes from.
void setClickable(boolean clickable)
Sets whether this node is clickable.
void setContentDescription(CharSequence contentDescription)
Sets the content description of this node.
void setEnabled(boolean enabled)
Sets whether this node is enabled.
void setFocusable(boolean focusable)
Sets whether this node is focusable.
void setFocused(boolean focused)
Sets whether this node is focused.
void setLongClickable(boolean longClickable)
Sets whether this node is long clickable.
void setPackageName(CharSequence packageName)
Sets the package this node comes from.
void setParent(View parent)
Sets the parent.
void setPassword(boolean password)
Sets whether this node is a password.
void setScrollable(boolean scrollable)
Sets if the node is scrollable.
void setSelected(boolean selected)
Sets whether this node is selected.
void setSource(View source)
Sets the source.
void setText(CharSequence text)
Sets the text of this node.
String toString()
Returns a string containing a concise, human-readable description of this object.
void writeToParcel(Parcel parcel, int flags)
Flatten this object in to a Parcel.

Note: After the instance is written to a parcel it is recycled.

[Expand]
Inherited Methods
From class java.lang.Object
From interface android.os.Parcelable

Constants

public static final int ACTION_CLEAR_FOCUS

Since: API Level 14

Action that unfocuses the node.

Constant Value: 2 (0x00000002)

public static final int ACTION_CLEAR_SELECTION

Since: API Level 14

Action that unselects the node.

Constant Value: 8 (0x00000008)

public static final int ACTION_FOCUS

Since: API Level 14

Action that focuses the node.

Constant Value: 1 (0x00000001)

public static final int ACTION_SELECT

Since: API Level 14

Action that selects the node.

Constant Value: 4 (0x00000004)

Fields

public static final Creator<AccessibilityNodeInfo> CREATOR

Since: API Level 14

Public Methods

public void addAction (int action)

Since: API Level 14

Adds an action that can be performed on the node.

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

Parameters
action The action.
Throws
IllegalStateException If called from an AccessibilityService.

public void addChild (View child)

Since: API Level 14

Adds a child.

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

Parameters
child The child.
Throws
IllegalStateException If called from an AccessibilityService.

public int describeContents ()

Since: API Level 14

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

Returns
  • a bitmask indicating the set of special object types marshalled by the Parcelable.

public boolean equals (Object object)

Since: API Level 14

Compares this instance with the specified object and indicates if they are equal. In order to be equal, o must represent the same object as this instance using a class-specific comparison. The general contract is that this comparison should be reflexive, symmetric, and transitive. Also, no object reference other than null is equal to null.

The default implementation returns true only if this == o. See Writing a correct equals method if you intend implementing your own equals method.

The general contract for the equals and hashCode() methods is that if equals returns true for any two objects, then hashCode() must return the same value for these objects. This means that subclasses of Object usually override either both methods or neither of them.

Parameters
object the object to compare this instance with.
Returns
  • true if the specified object is equal to this Object; false otherwise.

public List<AccessibilityNodeInfo> findAccessibilityNodeInfosByText (String text)

Since: API Level 14

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: It is a client responsibility to recycle the received info by calling recycle() to avoid creating of multiple instances.

Parameters
text The searched text.
Returns
  • A list of node info.

public int getActions ()

Since: API Level 14

Gets the actions that can be performed on the node.

Returns
  • The bit mask of with actions.

public void getBoundsInParent (Rect outBounds)

Since: API Level 14

Gets the node bounds in parent coordinates.

Parameters
outBounds The output node bounds.

public void getBoundsInScreen (Rect outBounds)

Since: API Level 14

Gets the node bounds in screen coordinates.

Parameters
outBounds The output node bounds.

public AccessibilityNodeInfo getChild (int index)

Since: API Level 14

Get the child at given index.

Note: It is a client responsibility to recycle the received info by calling recycle() to avoid creating of multiple instances.

Parameters
index The child index.
Returns
  • The child node.
Throws
IllegalStateException If called outside of an AccessibilityService.

public int getChildCount ()

Since: API Level 14

Gets the number of children.

Returns
  • The child count.

public CharSequence getClassName ()

Since: API Level 14

Gets the class this node comes from.

Returns
  • The class name.

public CharSequence getContentDescription ()

Since: API Level 14

Gets the content description of this node.

Returns
  • The content description.

public CharSequence getPackageName ()

Since: API Level 14

Gets the package this node comes from.

Returns
  • The package name.

public AccessibilityNodeInfo getParent ()

Since: API Level 14

Gets the parent.

Note: It is a client responsibility to recycle the received info by calling recycle() to avoid creating of multiple instances.

Returns
  • The parent.

public CharSequence getText ()

Since: API Level 14

Gets the text of this node.

Returns
  • The text.

public int getWindowId ()

Since: API Level 14

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

Returns
  • The window id.

public int hashCode ()

Since: API Level 14

Returns an integer hash code for this object. By contract, any two objects for which equals(Object) returns true must return the same hash code value. This means that subclasses of Object usually override both methods or neither method.

Note that hash values must not change over time unless information used in equals comparisons also changes.

See Writing a correct hashCode method if you intend implementing your own hashCode method.

Returns
  • this object's hash code.

public boolean isCheckable ()

Since: API Level 14

Gets whether this node is checkable.

Returns
  • True if the node is checkable.

public boolean isChecked ()

Since: API Level 14

Gets whether this node is checked.

Returns
  • True if the node is checked.

public boolean isClickable ()

Since: API Level 14

Gets whether this node is clickable.

Returns
  • True if the node is clickable.

public boolean isEnabled ()

Since: API Level 14

Gets whether this node is enabled.

Returns
  • True if the node is enabled.

public boolean isFocusable ()

Since: API Level 14

Gets whether this node is focusable.

Returns
  • True if the node is focusable.

public boolean isFocused ()

Since: API Level 14

Gets whether this node is focused.

Returns
  • True if the node is focused.

public boolean isLongClickable ()

Since: API Level 14

Gets whether this node is long clickable.

Returns
  • True if the node is long clickable.

public boolean isPassword ()

Since: API Level 14

Gets whether this node is a password.

Returns
  • True if the node is a password.

public boolean isScrollable ()

Since: API Level 14

Gets if the node is scrollable.

Returns
  • True if the node is scrollable, false otherwise.

public boolean isSelected ()

Since: API Level 14

Gets whether this node is selected.

Returns
  • True if the node is selected.

public static AccessibilityNodeInfo obtain (AccessibilityNodeInfo info)

Since: API Level 14

Returns a cached instance if such is available or a new one is create. The returned instance is initialized from the given info.

Parameters
info The other info.
Returns
  • An instance.

public static AccessibilityNodeInfo obtain ()

Since: API Level 14

Returns a cached instance if such is available otherwise a new one.

Returns
  • An instance.

public static AccessibilityNodeInfo obtain (View source)

Since: API Level 14

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

Returns
  • An instance.
See Also

public boolean performAction (int action)

Since: API Level 14

Performs an action on the node.

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

Parameters
action The action to perform.
Returns
  • True if the action was performed.
Throws
IllegalStateException If called outside of an AccessibilityService.

public void recycle ()

Since: API Level 14

Return an instance back to be reused.

Note: You must not touch the object after calling this function.

Throws
IllegalStateException If the info is already recycled.

public void setBoundsInParent (Rect bounds)

Since: API Level 14

Sets the node bounds in parent coordinates.

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

Parameters
bounds The node bounds.
Throws
IllegalStateException If called from an AccessibilityService.

public void setBoundsInScreen (Rect bounds)

Since: API Level 14

Sets the node bounds in screen coordinates.

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

Parameters
bounds The node bounds.
Throws
IllegalStateException If called from an AccessibilityService.

public void setCheckable (boolean checkable)

Since: API Level 14

Sets whether this node is checkable.

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

Parameters
checkable True if the node is checkable.
Throws
IllegalStateException If called from an AccessibilityService.

public void setChecked (boolean checked)

Since: API Level 14

Sets whether this node is checked.

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

Parameters
checked True if the node is checked.
Throws
IllegalStateException If called from an AccessibilityService.

public void setClassName (CharSequence className)

Since: API Level 14

Sets the class this node comes from.

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

Parameters
className The class name.
Throws
IllegalStateException If called from an AccessibilityService.

public void setClickable (boolean clickable)

Since: API Level 14

Sets whether this node is clickable.

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

Parameters
clickable True if the node is clickable.
Throws
IllegalStateException If called from an AccessibilityService.

public void setContentDescription (CharSequence contentDescription)

Since: API Level 14

Sets the content description of this node.

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

Parameters
contentDescription The content description.
Throws
IllegalStateException If called from an AccessibilityService.

public void setEnabled (boolean enabled)

Since: API Level 14

Sets whether this node is enabled.

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

Parameters
enabled True if the node is enabled.
Throws
IllegalStateException If called from an AccessibilityService.

public void setFocusable (boolean focusable)

Since: API Level 14

Sets whether this node is focusable.

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

Parameters
focusable True if the node is focusable.
Throws
IllegalStateException If called from an AccessibilityService.

public void setFocused (boolean focused)

Since: API Level 14

Sets whether this node is focused.

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

Parameters
focused True if the node is focused.
Throws
IllegalStateException If called from an AccessibilityService.

public void setLongClickable (boolean longClickable)

Since: API Level 14

Sets whether this node is long clickable.

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

Parameters
longClickable True if the node is long clickable.
Throws
IllegalStateException If called from an AccessibilityService.

public void setPackageName (CharSequence packageName)

Since: API Level 14

Sets the package this node comes from.

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

Parameters
packageName The package name.
Throws
IllegalStateException If called from an AccessibilityService.

public void setParent (View parent)

Since: API Level 14

Sets the parent.

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

Parameters
parent The parent.
Throws
IllegalStateException If called from an AccessibilityService.

public void setPassword (boolean password)

Since: API Level 14

Sets whether this node is a password.

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

Parameters
password True if the node is a password.
Throws
IllegalStateException If called from an AccessibilityService.

public void setScrollable (boolean scrollable)

Since: API Level 14

Sets if the node is scrollable.

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

Parameters
scrollable True if the node is scrollable, false otherwise.
Throws
IllegalStateException If called from an AccessibilityService.

public void setSelected (boolean selected)

Since: API Level 14

Sets whether this node is selected.

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

Parameters
selected True if the node is selected.
Throws
IllegalStateException If called from an AccessibilityService.

public void setSource (View source)

Since: API Level 14

Sets the source.

Parameters
source The info source.

public void setText (CharSequence text)

Since: API Level 14

Sets the text of this node.

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

Parameters
text The text.
Throws
IllegalStateException If called from an AccessibilityService.

public String toString ()

Since: API Level 14

Returns a string containing a concise, human-readable description of this object. Subclasses are encouraged to override this method and provide an implementation that takes into account the object's type and data. The default implementation is equivalent to the following expression:

   getClass().getName() + '@' + Integer.toHexString(hashCode())

See Writing a useful toString method if you intend implementing your own toString method.

Returns
  • a printable representation of this object.

public void writeToParcel (Parcel parcel, int flags)

Since: API Level 14

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
parcel The Parcel in which the object should be written.
flags Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE.