AccessibilityManager
class AccessibilityManager
kotlin.Any | |
↳ | android.view.accessibility.AccessibilityManager |
System level service that serves as an event dispatch for AccessibilityEvent
s, 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 android.app.Activity
starts, the focus or selection of a android.view.View
changes etc. Parties interested in handling accessibility events implement and register an accessibility service which extends android.accessibilityservice.AccessibilityService
.
Summary
Nested classes | |
---|---|
abstract |
Listener for changes to the state of accessibility services. |
abstract |
Listener for the system accessibility state. |
abstract |
Listener for the audio description by default state. |
abstract |
Listener for the system touch exploration state. |
Constants | |
---|---|
static Int |
Use this flag to indicate the content of a UI that times out contains interactive controls. |
static Int |
Use this flag to indicate the content of a UI that times out contains icons. |
static Int |
Use this flag to indicate the content of a UI that times out contains text. |
Constants
FLAG_CONTENT_CONTROLS
static val FLAG_CONTENT_CONTROLS: Int
Use this flag to indicate the content of a UI that times out contains interactive controls.
Value: 4
FLAG_CONTENT_ICONS
static val FLAG_CONTENT_ICONS: Int
Use this flag to indicate the content of a UI that times out contains icons.
Value: 1
FLAG_CONTENT_TEXT
static val FLAG_CONTENT_TEXT: Int
Use this flag to indicate the content of a UI that times out contains text.
Value: 2
Public methods
addAccessibilityRequestPreparer
fun addAccessibilityRequestPreparer(preparer: AccessibilityRequestPreparer!): Unit
Registers a AccessibilityRequestPreparer
.
addAccessibilityServicesStateChangeListener
fun addAccessibilityServicesStateChangeListener(
executor: Executor,
listener: AccessibilityManager.AccessibilityServicesStateChangeListener
): Unit
Registers a AccessibilityServicesStateChangeListener
.
Parameters | |
---|---|
executor |
Executor: The executor. This value cannot be null . Callback and listener events are dispatched through this Executor , providing an easy way to control which thread is used. To dispatch events through the main thread of your application, you can use Context.getMainExecutor() . Otherwise, provide an Executor that dispatches to an appropriate thread. |
listener |
AccessibilityManager.AccessibilityServicesStateChangeListener: The listener. This value cannot be null . |
addAccessibilityServicesStateChangeListener
fun addAccessibilityServicesStateChangeListener(listener: AccessibilityManager.AccessibilityServicesStateChangeListener): Unit
Registers a AccessibilityServicesStateChangeListener
. This will execute a callback on the process's main handler.
Parameters | |
---|---|
listener |
AccessibilityManager.AccessibilityServicesStateChangeListener: The listener. This value cannot be null . |
addAccessibilityStateChangeListener
fun addAccessibilityStateChangeListener(listener: AccessibilityManager.AccessibilityStateChangeListener): Boolean
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 . |
Return | |
---|---|
Boolean |
Always returns true . |
addAccessibilityStateChangeListener
fun addAccessibilityStateChangeListener(
listener: AccessibilityManager.AccessibilityStateChangeListener,
handler: Handler?
): Unit
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. |
addAudioDescriptionRequestedChangeListener
fun addAudioDescriptionRequestedChangeListener(
executor: Executor,
listener: AccessibilityManager.AudioDescriptionRequestedChangeListener
): Unit
Registers a AudioDescriptionRequestedChangeListener
for changes in the audio description by default state of the system. The value could be read via isAudioDescriptionRequested
.
Parameters | |
---|---|
executor |
Executor: The executor on which the listener should be called back. This value cannot be null . |
listener |
AccessibilityManager.AudioDescriptionRequestedChangeListener: The listener. This value cannot be null . |
addTouchExplorationStateChangeListener
fun addTouchExplorationStateChangeListener(listener: AccessibilityManager.TouchExplorationStateChangeListener): Boolean
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 . |
Return | |
---|---|
Boolean |
Always returns true . |
addTouchExplorationStateChangeListener
fun addTouchExplorationStateChangeListener(
listener: AccessibilityManager.TouchExplorationStateChangeListener,
handler: Handler?
): Unit
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. |
getAccessibilityFocusColor
fun getAccessibilityFocusColor(): Int
Gets the color of the focus rectangle. This value can be set by AccessibilityService
.
Return | |
---|---|
Int |
The color of the focus rectangle. |
getAccessibilityFocusStrokeWidth
fun getAccessibilityFocusStrokeWidth(): Int
Gets the strokeWidth of the focus rectangle. This value can be set by AccessibilityService
.
Return | |
---|---|
Int |
The strokeWidth of the focus rectangle in pixels. |
getAccessibilityServiceList
fungetAccessibilityServiceList(): MutableList<ServiceInfo!>!
Deprecated: Use getInstalledAccessibilityServiceList()
Returns the ServiceInfo
s of the installed accessibility services.
Return | |
---|---|
MutableList<ServiceInfo!>! |
An unmodifiable list with ServiceInfo s. |
getEnabledAccessibilityServiceList
fun getEnabledAccessibilityServiceList(feedbackTypeFlags: Int): MutableList<AccessibilityServiceInfo!>!
Returns the AccessibilityServiceInfo
s of the enabled accessibility services for a given feedback type.
Parameters | |
---|---|
feedbackTypeFlags |
Int: The feedback type flags. |
Return | |
---|---|
MutableList<AccessibilityServiceInfo!>! |
An unmodifiable list with AccessibilityServiceInfo s. |
See Also
android.accessibilityservice.AccessibilityServiceInfo#FEEDBACK_AUDIBLE
android.accessibilityservice.AccessibilityServiceInfo#FEEDBACK_GENERIC
android.accessibilityservice.AccessibilityServiceInfo#FEEDBACK_HAPTIC
android.accessibilityservice.AccessibilityServiceInfo#FEEDBACK_SPOKEN
android.accessibilityservice.AccessibilityServiceInfo#FEEDBACK_VISUAL
android.accessibilityservice.AccessibilityServiceInfo#FEEDBACK_BRAILLE
getInstalledAccessibilityServiceList
fun getInstalledAccessibilityServiceList(): MutableList<AccessibilityServiceInfo!>!
Returns the AccessibilityServiceInfo
s of the installed accessibility services.
Return | |
---|---|
MutableList<AccessibilityServiceInfo!>! |
An unmodifiable list with AccessibilityServiceInfo s. |
getRecommendedTimeoutMillis
fun getRecommendedTimeoutMillis(
originalTimeout: Int,
uiContentFlags: Int
): Int
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 android.view.accessibility.AccessibilityManager#FLAG_CONTENT_ICONS , android.view.accessibility.AccessibilityManager#FLAG_CONTENT_TEXT , and android.view.accessibility.AccessibilityManager#FLAG_CONTENT_CONTROLS |
Return | |
---|---|
Int |
The recommended UI timeout for the current user in milliseconds. |
interrupt
fun interrupt(): Unit
Requests feedback interruption from all accessibility services.
isAccessibilityButtonSupported
static fun isAccessibilityButtonSupported(): Boolean
Determines if the accessibility button within the system navigation area is supported.
Return | |
---|---|
Boolean |
true if the accessibility button is supported on this device, false otherwise |
isAudioDescriptionRequested
fun isAudioDescriptionRequested(): Boolean
Determines if users want to select sound track with audio description by default.
Audio description, also referred to as a video description, described video, or more precisely called a visual description, is a form of narration used to provide information surrounding key visual elements in a media work for the benefit of blind and visually impaired consumers.
The method provides the preference value to content provider apps to select the default sound track during playing a video or movie.
Add listener to detect the state change via addAudioDescriptionRequestedChangeListener
Return | |
---|---|
Boolean |
true if the audio description is enabled, false otherwise. |
isEnabled
fun isEnabled(): Boolean
Returns if the accessibility in the system is enabled.
Note: This query is used for sending AccessibilityEvent
s, since events are only needed if accessibility is on. Avoid changing UI or app behavior based on the state of accessibility. While well-intentioned, doing this creates brittle, less well-maintained code that works for some users but not others. Shared code leads to more equitable experiences and less technical debt.
For example, if you want to expose a unique interaction with your app, use ViewCompat#addAccessibilityAction in AndroidX to make this interaction - ideally with the same code path used for non-accessibility users - available to accessibility services. Services can then expose this action in the way best fit for their users.
Return | |
---|---|
Boolean |
True if accessibility is enabled, false otherwise. |
isRequestFromAccessibilityTool
fun isRequestFromAccessibilityTool(): Boolean
Whether the current accessibility request comes from an AccessibilityService
with the AccessibilityServiceInfo#isAccessibilityTool
property set to true.
You can use this method inside AccessibilityNodeProvider
to decide how to populate your nodes.
Note: The return value is valid only when an AccessibilityNodeInfo
request is in progress, can change from one request to another, and has no meaning when a request is not in progress.
Return | |
---|---|
Boolean |
True if the current request is from a tool that sets isAccessibilityTool. |
isTouchExplorationEnabled
fun isTouchExplorationEnabled(): Boolean
Returns if the touch exploration in the system is enabled.
Note: This query is used for dispatching hover events, such as android.view.MotionEvent#ACTION_HOVER_ENTER
, to accessibility services to manage touch exploration. Avoid changing UI or app behavior based on the state of accessibility. While well-intentioned, doing this creates brittle, less well-maintained code that works for som users but not others. Shared code leads to more equitable experiences and less technical debt.
Return | |
---|---|
Boolean |
True if touch exploration is enabled, false otherwise. |
removeAccessibilityRequestPreparer
fun removeAccessibilityRequestPreparer(preparer: AccessibilityRequestPreparer!): Unit
Unregisters a AccessibilityRequestPreparer
.
removeAccessibilityServicesStateChangeListener
fun removeAccessibilityServicesStateChangeListener(listener: AccessibilityManager.AccessibilityServicesStateChangeListener): Boolean
Unregisters a AccessibilityServicesStateChangeListener
.
Parameters | |
---|---|
listener |
AccessibilityManager.AccessibilityServicesStateChangeListener: The listener. This value cannot be null . |
Return | |
---|---|
Boolean |
true if the listener was previously registered. |
removeAccessibilityStateChangeListener
fun removeAccessibilityStateChangeListener(listener: AccessibilityManager.AccessibilityStateChangeListener): Boolean
Unregisters an AccessibilityStateChangeListener
.
Parameters | |
---|---|
listener |
AccessibilityManager.AccessibilityStateChangeListener: The listener. This value cannot be null . |
Return | |
---|---|
Boolean |
True if the listener was previously registered. |
removeAudioDescriptionRequestedChangeListener
fun removeAudioDescriptionRequestedChangeListener(listener: AccessibilityManager.AudioDescriptionRequestedChangeListener): Boolean
Unregisters a AudioDescriptionRequestedChangeListener
.
Parameters | |
---|---|
listener |
AccessibilityManager.AudioDescriptionRequestedChangeListener: The listener. This value cannot be null . |
Return | |
---|---|
Boolean |
True if listener was previously registered. |
removeTouchExplorationStateChangeListener
fun removeTouchExplorationStateChangeListener(listener: AccessibilityManager.TouchExplorationStateChangeListener): Boolean
Unregisters a TouchExplorationStateChangeListener
.
Parameters | |
---|---|
listener |
AccessibilityManager.TouchExplorationStateChangeListener: The listener. This value cannot be null . |
Return | |
---|---|
Boolean |
True if listener was previously registered. |
sendAccessibilityEvent
fun sendAccessibilityEvent(event: AccessibilityEvent!): Unit
Sends an AccessibilityEvent
.
Parameters | |
---|---|
event |
AccessibilityEvent!: The event to send. |
Exceptions | |
---|---|
java.lang.IllegalStateException |
if accessibility is not enabled. Note: The preferred mechanism for sending custom accessibility events is through calling android.view.ViewParent#requestSendAccessibilityEvent(View, AccessibilityEvent) instead of this method to allow predecessors to augment/filter events sent by their descendants. |