Google is committed to advancing racial equity for Black communities. See how.

AccessibilityManager

public final class AccessibilityManager
extends Object

java.lang.Object
   ↳ android.view.accessibility.AccessibilityManager


System level service that serves as an event dispatch for AccessibilityEvents, and provides facilities for querying the accessibility state of the system. Accessibility events are generated when something notable happens in the user interface, for example an Activity starts, the focus or selection of a View changes etc. Parties interested in handling accessibility events implement and register an accessibility service which extends AccessibilityService.

Summary

Nested classes

interface AccessibilityManager.AccessibilityStateChangeListener

Listener for the system accessibility state. 

interface AccessibilityManager.TouchExplorationStateChangeListener

Listener for the system touch exploration state. 

Constants

int FLAG_CONTENT_CONTROLS

Use this flag to indicate the content of a UI that times out contains interactive controls.

int FLAG_CONTENT_ICONS

Use this flag to indicate the content of a UI that times out contains icons.

int FLAG_CONTENT_TEXT

Use this flag to indicate the content of a UI that times out contains text.

Public methods

void addAccessibilityRequestPreparer(AccessibilityRequestPreparer preparer)

Registers a AccessibilityRequestPreparer.

boolean addAccessibilityStateChangeListener(AccessibilityManager.AccessibilityStateChangeListener listener)

Registers an AccessibilityStateChangeListener for changes in the global accessibility state of the system.

void addAccessibilityStateChangeListener(AccessibilityManager.AccessibilityStateChangeListener listener, Handler handler)

Registers an AccessibilityStateChangeListener for changes in the global accessibility state of the system.

void addTouchExplorationStateChangeListener(AccessibilityManager.TouchExplorationStateChangeListener listener, Handler handler)

Registers an TouchExplorationStateChangeListener for changes in the global touch exploration state of the system.

boolean addTouchExplorationStateChangeListener(AccessibilityManager.TouchExplorationStateChangeListener listener)

Registers a TouchExplorationStateChangeListener for changes in the global touch exploration state of the system.

List<ServiceInfo> getAccessibilityServiceList()

This method was deprecated in API level 15. Use getInstalledAccessibilityServiceList()

List<AccessibilityServiceInfo> getEnabledAccessibilityServiceList(int feedbackTypeFlags)

Returns the AccessibilityServiceInfos of the enabled accessibility services for a given feedback type.

List<AccessibilityServiceInfo> getInstalledAccessibilityServiceList()

Returns the AccessibilityServiceInfos of the installed accessibility services.

int getRecommendedTimeoutMillis(int originalTimeout, int uiContentFlags)

Get the recommended timeout for changes to the UI needed by this user.

void interrupt()

Requests feedback interruption from all accessibility services.

static boolean isAccessibilityButtonSupported()

Determines if the accessibility button within the system navigation area is supported.

boolean isEnabled()

Returns if the accessibility in the system is enabled.

boolean isTouchExplorationEnabled()

Returns if the touch exploration in the system is enabled.

void removeAccessibilityRequestPreparer(AccessibilityRequestPreparer preparer)

Unregisters a AccessibilityRequestPreparer.

boolean removeAccessibilityStateChangeListener(AccessibilityManager.AccessibilityStateChangeListener listener)

Unregisters an AccessibilityStateChangeListener.

boolean removeTouchExplorationStateChangeListener(AccessibilityManager.TouchExplorationStateChangeListener listener)

Unregisters a TouchExplorationStateChangeListener.

void sendAccessibilityEvent(AccessibilityEvent event)

Sends an AccessibilityEvent.

Inherited methods

Constants

FLAG_CONTENT_CONTROLS

Added in API level 29
public static final int FLAG_CONTENT_CONTROLS

Use this flag to indicate the content of a UI that times out contains interactive controls.

Constant Value: 4 (0x00000004)

FLAG_CONTENT_ICONS

Added in API level 29
public static final int FLAG_CONTENT_ICONS

Use this flag to indicate the content of a UI that times out contains icons.

Constant Value: 1 (0x00000001)

FLAG_CONTENT_TEXT

Added in API level 29
public static final int FLAG_CONTENT_TEXT

Use this flag to indicate the content of a UI that times out contains text.

Constant Value: 2 (0x00000002)

Public methods

addAccessibilityRequestPreparer

Added in API level 27
public void addAccessibilityRequestPreparer (AccessibilityRequestPreparer preparer)

Registers a AccessibilityRequestPreparer.

Parameters
preparer AccessibilityRequestPreparer

addAccessibilityStateChangeListener

Added in API level 14
public boolean addAccessibilityStateChangeListener (AccessibilityManager.AccessibilityStateChangeListener listener)

Registers an AccessibilityStateChangeListener for changes in the global accessibility state of the system. Equivalent to calling addAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener, android.os.Handler) with a null handler.

Parameters
listener AccessibilityManager.AccessibilityStateChangeListener: The listener. This value cannot be null.

Returns
boolean Always returns true.

addAccessibilityStateChangeListener

Added in API level 26
public void addAccessibilityStateChangeListener (AccessibilityManager.AccessibilityStateChangeListener listener, 
                Handler handler)

Registers an AccessibilityStateChangeListener for changes in the global accessibility state of the system. If the listener has already been registered, the handler used to call it back is updated.

Parameters
listener AccessibilityManager.AccessibilityStateChangeListener: The listener. This value cannot be null.

handler Handler: The handler on which the listener should be called back, or null for a callback on the process's main handler. This value may be null.

addTouchExplorationStateChangeListener

Added in API level 26
public void addTouchExplorationStateChangeListener (AccessibilityManager.TouchExplorationStateChangeListener listener, 
                Handler handler)

Registers an TouchExplorationStateChangeListener for changes in the global touch exploration state of the system. If the listener has already been registered, the handler used to call it back is updated.

Parameters
listener AccessibilityManager.TouchExplorationStateChangeListener: The listener. This value cannot be null.

handler Handler: The handler on which the listener should be called back, or null for a callback on the process's main handler. This value may be null.

addTouchExplorationStateChangeListener

Added in API level 19
public boolean addTouchExplorationStateChangeListener (AccessibilityManager.TouchExplorationStateChangeListener listener)

Registers a TouchExplorationStateChangeListener for changes in the global touch exploration state of the system. Equivalent to calling addTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener, android.os.Handler) with a null handler.

Parameters
listener AccessibilityManager.TouchExplorationStateChangeListener: The listener. This value cannot be null.

Returns
boolean Always returns true.

getAccessibilityServiceList

Added in API level 4
Deprecated in API level 15
public List<ServiceInfo> getAccessibilityServiceList ()

This method was deprecated in API level 15.
Use getInstalledAccessibilityServiceList()

Returns the ServiceInfos of the installed accessibility services.

Returns
List<ServiceInfo> An unmodifiable list with ServiceInfos.

getEnabledAccessibilityServiceList

Added in API level 14
public List<AccessibilityServiceInfo> getEnabledAccessibilityServiceList (int feedbackTypeFlags)

Returns the AccessibilityServiceInfos of the enabled accessibility services for a given feedback type.

Parameters
feedbackTypeFlags int: The feedback type flags.

Returns
List<AccessibilityServiceInfo> An unmodifiable list with AccessibilityServiceInfos.

getInstalledAccessibilityServiceList

Added in API level 14
public List<AccessibilityServiceInfo> getInstalledAccessibilityServiceList ()

Returns the AccessibilityServiceInfos of the installed accessibility services.

Returns
List<AccessibilityServiceInfo> An unmodifiable list with AccessibilityServiceInfos.

getRecommendedTimeoutMillis

Added in API level 29
public int getRecommendedTimeoutMillis (int originalTimeout, 
                int uiContentFlags)

Get the recommended timeout for changes to the UI needed by this user. Controls should remain on the screen for at least this long to give users time to react. Some users may need extra time to review the controls, or to reach them, or to activate assistive technology to activate the controls automatically.

Use the combination of content flags to indicate contents of UI. For example, use FLAG_CONTENT_ICONS | FLAG_CONTENT_TEXT for message notification which contains icons and text, or use FLAG_CONTENT_TEXT | FLAG_CONTENT_CONTROLS for button dialog which contains text and button controls.

Parameters
originalTimeout int: The timeout appropriate for users with no accessibility needs.

uiContentFlags int: The combination of flags FLAG_CONTENT_ICONS, FLAG_CONTENT_TEXT or FLAG_CONTENT_CONTROLS to indicate the contents of UI. Value is either 0 or a combination of FLAG_CONTENT_ICONS, FLAG_CONTENT_TEXT, and FLAG_CONTENT_CONTROLS

Returns
int The recommended UI timeout for the current user in milliseconds.

interrupt

Added in API level 4
public void interrupt ()

Requests feedback interruption from all accessibility services.

isAccessibilityButtonSupported

Added in API level 27
public static boolean isAccessibilityButtonSupported ()

Determines if the accessibility button within the system navigation area is supported.

Returns
boolean true if the accessibility button is supported on this device, false otherwise

isEnabled

Added in API level 4
public boolean isEnabled ()

Returns if the accessibility in the system is enabled.

Returns
boolean True if accessibility is enabled, false otherwise.

isTouchExplorationEnabled

Added in API level 14
public boolean isTouchExplorationEnabled ()

Returns if the touch exploration in the system is enabled.

Returns
boolean True if touch exploration is enabled, false otherwise.

removeAccessibilityRequestPreparer

Added in API level 27
public void removeAccessibilityRequestPreparer (AccessibilityRequestPreparer preparer)

Unregisters a AccessibilityRequestPreparer.

Parameters
preparer AccessibilityRequestPreparer

removeAccessibilityStateChangeListener

Added in API level 14
public boolean removeAccessibilityStateChangeListener (AccessibilityManager.AccessibilityStateChangeListener listener)

Unregisters an AccessibilityStateChangeListener.

Parameters
listener AccessibilityManager.AccessibilityStateChangeListener: The listener. This value cannot be null.

Returns
boolean True if the listener was previously registered.

removeTouchExplorationStateChangeListener

Added in API level 19
public boolean removeTouchExplorationStateChangeListener (AccessibilityManager.TouchExplorationStateChangeListener listener)

Unregisters a TouchExplorationStateChangeListener.

Parameters
listener AccessibilityManager.TouchExplorationStateChangeListener: The listener. This value cannot be null.

Returns
boolean True if listener was previously registered.

sendAccessibilityEvent

Added in API level 4
public void sendAccessibilityEvent (AccessibilityEvent event)

Sends an AccessibilityEvent.

Parameters
event AccessibilityEvent: The event to send.

Throws
IllegalStateException if accessibility is not enabled. Note: The preferred mechanism for sending custom accessibility events is through calling ViewParent.requestSendAccessibilityEvent(View, AccessibilityEvent) instead of this method to allow predecessors to augment/filter events sent by their descendants.