Added in [API level 4](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [XML Attrs](https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#lattrs) \| [Constants](https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#constants) \| [Inherited Constants](https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#inhconstants) \| [Fields](https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#lfields) \| [Ctors](https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#pubctors) \| [Methods](https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#inhmethods)

# AccessibilityServiceInfo

*** ** * ** ***


`
public


class
AccessibilityServiceInfo
`


`

extends https://developer.android.com/reference/java/lang/Object


`

`


implements

https://developer.android.com/reference/android/os/Parcelable


`

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.accessibilityservice.AccessibilityServiceInfo |

<br />

*** ** * ** ***

This class describes an `https://developer.android.com/reference/android/accessibilityservice/AccessibilityService`. The system notifies an
`https://developer.android.com/reference/android/accessibilityservice/AccessibilityService` for `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent`s
according to the information encapsulated in this class.

### Developer Guides

For more information about creating AccessibilityServices, read the
[Accessibility](https://developer.android.com/guide/topics/ui/accessibility)
developer guide.

<br />

**See also:**

- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityService`
- `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent`
- `https://developer.android.com/reference/android/view/accessibility/AccessibilityManager`

## Summary

| ### XML attributes ||
|---|---|
| [`android:accessibilityEventTypes`](https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#attr_android:accessibilityEventTypes) | The event types this service would like to receive as specified in `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent`. |
| [`android:accessibilityFeedbackType`](https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#attr_android:accessibilityFeedbackType) | The feedback types this service provides as specified in `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo`. |
| [`android:accessibilityFlags`](https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#attr_android:accessibilityFlags) | Additional flags as specified in `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo`. |
| [`android:animatedImageDrawable`](https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#attr_android:animatedImageDrawable) | Animated image of the accessibility service purpose or behavior, to help users understand how the service can help them. |
| [`android:canControlMagnification`](https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#attr_android:canControlMagnification) | Attribute whether the accessibility service wants to be able to control display magnification. |
| [`android:canPerformGestures`](https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#attr_android:canPerformGestures) | Attribute whether the accessibility service wants to be able to perform gestures. |
| [`android:canRequestFilterKeyEvents`](https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#attr_android:canRequestFilterKeyEvents) | Attribute whether the accessibility service wants to be able to request to filter key events. |
| [`android:canRequestFingerprintGestures`](https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#attr_android:canRequestFingerprintGestures) | Attribute whether the accessibility service wants to be able to capture gestures from the fingerprint sensor. |
| [`android:canRequestTouchExplorationMode`](https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#attr_android:canRequestTouchExplorationMode) | Attribute whether the accessibility service wants to be able to request touch exploration mode in which touched items are spoken aloud and the UI can be explored via gestures. |
| [`android:canRetrieveWindowContent`](https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#attr_android:canRetrieveWindowContent) | Attribute whether the accessibility service wants to be able to retrieve the active window content. |
| [`android:canTakeScreenshot`](https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#attr_android:canTakeScreenshot) | Attribute whether the accessibility service wants to be able to take screenshot. |
| [`android:description`](https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#attr_android:description) | Description of the accessibility service usage, availability, or limitations (e.g. |
| [`android:htmlDescription`](https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#attr_android:htmlDescription) | Html description of the accessibility service usage, availability, or limitations (e.g. |
| [`android:interactiveUiTimeout`](https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#attr_android:interactiveUiTimeout) | A recommended timeout in milliseconds used in `https://developer.android.com/reference/android/view/accessibility/AccessibilityManager#getRecommendedTimeoutMillis(int,%20int)` to return a suitable value for interactive controls. |
| [`android:intro`](https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#attr_android:intro) | Detailed intro of the accessibility service purpose or behavior. |
| [`android:isAccessibilityTool`](https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#attr_android:isAccessibilityTool) | Attribute indicating whether the accessibility service is used to assist users with disabilities. |
| [`android:nonInteractiveUiTimeout`](https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#attr_android:nonInteractiveUiTimeout) | A recommended timeout in milliseconds used in `https://developer.android.com/reference/android/view/accessibility/AccessibilityManager#getRecommendedTimeoutMillis(int,%20int)` to return a suitable value for UIs that do not include interactive controls. |
| [`android:notificationTimeout`](https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#attr_android:notificationTimeout) | The minimal period in milliseconds between two accessibility events of the same type are sent to this service. |
| [`android:packageNames`](https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#attr_android:packageNames) | Comma separated package names from which this service would like to receive events (leave out for all packages). |
| [`android:settingsActivity`](https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#attr_android:settingsActivity) | Fully qualified class name of an activity that allows the user to modify the settings for this service. |
| [`android:summary`](https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#attr_android:summary) | Brief summary of the accessibility service purpose or behavior. |
| [`android:tileService`](https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#attr_android:tileService) | Fully qualified class name of `https://developer.android.com/reference/android/service/quicksettings/TileService` is associated with this accessibility service for one to one mapping. |

| ### Constants ||
|---|---|
| `int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#CAPABILITY_CAN_CONTROL_MAGNIFICATION` Capability: This accessibility service can control display magnification. |
| `int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#CAPABILITY_CAN_PERFORM_GESTURES` Capability: This accessibility service can perform gestures. |
| `int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#CAPABILITY_CAN_REQUEST_ENHANCED_WEB_ACCESSIBILITY` *This constant was deprecated in API level 26. No longer used* |
| `int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#CAPABILITY_CAN_REQUEST_FILTER_KEY_EVENTS` Capability: This accessibility service can request to filter the key event stream. |
| `int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#CAPABILITY_CAN_REQUEST_FINGERPRINT_GESTURES` Capability: This accessibility service can capture gestures from the fingerprint sensor |
| `int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#CAPABILITY_CAN_REQUEST_TOUCH_EXPLORATION` Capability: This accessibility service can request touch exploration mode in which touched items are spoken aloud and the UI can be explored via gestures. |
| `int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#CAPABILITY_CAN_RETRIEVE_WINDOW_CONTENT` Capability: This accessibility service can retrieve the active window content. |
| `int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#CAPABILITY_CAN_TAKE_SCREENSHOT` Capability: This accessibility service can take screenshot. |
| `int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#DEFAULT` If an `https://developer.android.com/reference/android/accessibilityservice/AccessibilityService` is the default for a given type. |
| `int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_ALL_MASK` Mask for all feedback types. |
| `int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_AUDIBLE` Denotes audible (not spoken) feedback. |
| `int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_BRAILLE` Denotes braille feedback. |
| `int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_GENERIC` Denotes generic feedback. |
| `int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_HAPTIC` Denotes haptic feedback. |
| `int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_SPOKEN` Denotes spoken feedback. |
| `int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_VISUAL` Denotes visual feedback. |
| `int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_ENABLE_ACCESSIBILITY_VOLUME` This flag requests that all audio tracks system-wide with `https://developer.android.com/reference/android/media/AudioAttributes#USAGE_ASSISTANCE_ACCESSIBILITY` be controlled by the `https://developer.android.com/reference/android/media/AudioManager#STREAM_ACCESSIBILITY` volume. |
| `int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_INCLUDE_NOT_IMPORTANT_VIEWS` If this flag is set the system will regard views that are not important for accessibility in addition to the ones that are important for accessibility. |
| `int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_INPUT_METHOD_EDITOR` This flag makes the AccessibilityService an input method editor with a subset of input method editor capabilities: get the `https://developer.android.com/reference/android/view/inputmethod/InputConnection` and get text selection change notifications. |
| `int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REPORT_VIEW_IDS` This flag requests that the `https://developer.android.com/reference/android/view/accessibility/AccessibilityNodeInfo`s obtained by an `https://developer.android.com/reference/android/accessibilityservice/AccessibilityService` contain the id of the source view. |
| `int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_2_FINGER_PASSTHROUGH` This flag requests that when `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_MULTI_FINGER_GESTURES` is enabled, two-finger passthrough gestures are re-enabled. |
| `int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_ACCESSIBILITY_BUTTON` This flag indicates to the system that the accessibility service requests that an accessibility button be shown within the system's navigation area, if available. |
| `int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_ENHANCED_WEB_ACCESSIBILITY` *This constant was deprecated in API level 26. No longer used* |
| `int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_FILTER_KEY_EVENTS` This flag requests from the system to filter key events. |
| `int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_FINGERPRINT_GESTURES` This flag requests that all fingerprint gestures be sent to the accessibility service. |
| `int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_MULTI_FINGER_GESTURES` This flag requests that when `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_TOUCH_EXPLORATION_MODE` is enabled, multi-finger gestures are also enabled. |
| `int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_SHORTCUT_WARNING_DIALOG_SPOKEN_FEEDBACK` This flag requests that accessibility shortcut warning dialog has spoken feedback when dialog is shown. |
| `int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_TOUCH_EXPLORATION_MODE` This flag requests that the system gets into touch exploration mode. |
| `int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_RETRIEVE_INTERACTIVE_WINDOWS` This flag indicates to the system that the accessibility service wants to access content of all interactive windows. |
| `int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_SEND_MOTION_EVENTS` This flag requests that when `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_TOUCH_EXPLORATION_MODE` is enabled, a service will receive the motion events for each successfully-detected gesture. |
| `int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_SERVICE_HANDLES_DOUBLE_TAP` This flag requests that when `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_TOUCH_EXPLORATION_MODE` is enabled, double tap and double tap and hold gestures are dispatched to the service rather than being handled by the framework. |

| ### Inherited constants |
|---|
| From interface `https://developer.android.com/reference/android/os/Parcelable` |---|---| | `int` | `https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR` Descriptor bit used with `https://developer.android.com/reference/android/os/Parcelable#describeContents()`: indicates that the Parcelable object's flattened representation includes a file descriptor. | | `int` | `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE` Flag for use with `https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)`: the object being written is a return value, that is the result of a function such as "`Parcelable someFunction()`", "`void someFunction(out Parcelable)`", or "`void someFunction(inout Parcelable)`". | |

| ### Fields ||
|---|---|
| ` public static final https://developer.android.com/reference/android/os/Parcelable.Creator<https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo>` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#CREATOR` |
| ` public int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#eventTypes` The event types an `https://developer.android.com/reference/android/accessibilityservice/AccessibilityService` is interested in. |
| ` public int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#feedbackType` The feedback type an `https://developer.android.com/reference/android/accessibilityservice/AccessibilityService` provides. |
| ` public int` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#flags` This field represents a set of flags used for configuring an `https://developer.android.com/reference/android/accessibilityservice/AccessibilityService`. |
| ` public long` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#notificationTimeout` The timeout, in milliseconds, after the most recent event of a given type before an `https://developer.android.com/reference/android/accessibilityservice/AccessibilityService` is notified. |
| ` public https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#packageNames` The package names an `https://developer.android.com/reference/android/accessibilityservice/AccessibilityService` is interested in. |

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#AccessibilityServiceInfo()() ` Creates a new instance. |

| ### Public methods ||
|---|---|
| ` static https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#capabilityToString(int)(int capability) ` Returns the string representation of a capability. |
| ` int` | ` https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#describeContents()() ` Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. |
| ` boolean` | ` https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) ` Indicates whether some other object is "equal to" this one. |
| ` static https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#feedbackTypeToString(int)(int feedbackType) ` Returns the string representation of a feedback type. |
| ` static https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#flagToString(int)(int flag) ` Returns the string representation of a flag. |
| ` boolean` | ` https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#getCanRetrieveWindowContent()() ` *This method was deprecated in API level 18. Use `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#getCapabilities()`.* |
| ` int` | ` https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#getCapabilities()() ` Returns the bit mask of capabilities this accessibility service has such as being able to retrieve the active window content, etc. |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#getDescription()() ` *This method was deprecated in API level 16. Use `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#loadDescription(android.content.pm.PackageManager)`.* |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#getId()() ` The accessibility service id. |
| ` int` | ` https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#getInteractiveUiTimeoutMillis()() ` Get the recommended timeout for interactive controls. |
| ` int` | ` https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#getMotionEventSources()() ` Returns the bit mask of `https://developer.android.com/reference/android/view/InputDevice` sources that the accessibility service wants to listen to for generic `https://developer.android.com/reference/android/view/MotionEvent`s. |
| ` int` | ` https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#getNonInteractiveUiTimeoutMillis()() ` Get the recommended timeout for non-interactive controls. |
| ` https://developer.android.com/reference/android/content/pm/ResolveInfo` | ` https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#getResolveInfo()() ` The service `https://developer.android.com/reference/android/content/pm/ResolveInfo`. |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#getSettingsActivityName()() ` The settings activity name. |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#getTileServiceName()() ` Gets the name of `https://developer.android.com/reference/android/service/quicksettings/TileService` is associated with this accessibility service. |
| ` int` | ` https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#hashCode()() ` Returns a hash code value for the object. |
| ` boolean` | ` https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#isAccessibilityTool()() ` Indicates if the service is used to assist users with disabilities. |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#loadDescription(android.content.pm.PackageManager)(https://developer.android.com/reference/android/content/pm/PackageManager packageManager) ` The localized description of the accessibility service. |
| ` https://developer.android.com/reference/java/lang/CharSequence` | ` https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#loadIntro(android.content.pm.PackageManager)(https://developer.android.com/reference/android/content/pm/PackageManager packageManager) ` The localized intro of the accessibility service. |
| ` https://developer.android.com/reference/java/lang/CharSequence` | ` https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#loadSummary(android.content.pm.PackageManager)(https://developer.android.com/reference/android/content/pm/PackageManager packageManager) ` The localized summary of the accessibility service. |
| ` void` | ` https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#setInteractiveUiTimeoutMillis(int)(int timeout) ` Set the recommended time that interactive controls need to remain on the screen to support the user. |
| ` void` | ` https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#setMotionEventSources(int)(int motionEventSources) ` Sets the bit mask of `https://developer.android.com/reference/android/view/InputDevice` sources that the accessibility service wants to listen to for generic `https://developer.android.com/reference/android/view/MotionEvent`s. |
| ` void` | ` https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#setNonInteractiveUiTimeoutMillis(int)(int timeout) ` Set the recommended time that non-interactive controls need to remain on the screen to support the user. |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#toString()() ` Returns a string representation of the object. |
| ` void` | ` https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#writeToParcel(android.os.Parcel,%20int)(https://developer.android.com/reference/android/os/Parcel parcel, int flagz) ` Flatten this object in to a Parcel. |

| ### Inherited methods |
|---|---|
| From class ` https://developer.android.com/reference/java/lang/Object ` |---|---| | ` https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/lang/Object#clone()() ` Creates and returns a copy of this object. | | ` boolean` | ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) ` Indicates whether some other object is "equal to" this one. | | ` void` | ` https://developer.android.com/reference/java/lang/Object#finalize()() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. | | ` final https://developer.android.com/reference/java/lang/Class<?>` | ` https://developer.android.com/reference/java/lang/Object#getClass()() ` Returns the runtime class of this `Object`. | | ` int` | ` https://developer.android.com/reference/java/lang/Object#hashCode()() ` Returns a hash code value for the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notify()() ` Wakes up a single thread that is waiting on this object's monitor. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notifyAll()() ` Wakes up all threads that are waiting on this object's monitor. | | ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/lang/Object#toString()() ` Returns a string representation of the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait()() ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*. | ||
| From interface ` https://developer.android.com/reference/android/os/Parcelable ` |---|---| | ` abstract int` | ` https://developer.android.com/reference/android/os/Parcelable#describeContents()() ` Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. | | ` abstract void` | ` https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)(https://developer.android.com/reference/android/os/Parcel dest, int flags) ` Flatten this object in to a Parcel. | ||

## XML attributes

### android:accessibilityEventTypes

The event types this service would like to receive as specified in
`https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent`. This setting
can be changed at runtime by calling
`https://developer.android.com/reference/android/accessibilityservice/AccessibilityService#setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo)`.

Must be one or more (separated by '\|') of the following constant values.

| Constant | Value | Description |
|---|---|---|
| typeAllMask | ffffffff | Receives `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPES_ALL_MASK` i.e. all events. |
| typeAnnouncement | 4000 | Receives `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_ANNOUNCEMENT` events. |
| typeAssistReadingContext | 1000000 | Receives `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_ASSIST_READING_CONTEXT` events. |
| typeContextClicked | 800000 | Receives `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_VIEW_CONTEXT_CLICKED` events. |
| typeGestureDetectionEnd | 80000 | Receives `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_GESTURE_DETECTION_END` events. |
| typeGestureDetectionStart | 40000 | Receives `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_GESTURE_DETECTION_START` events. |
| typeNotificationStateChanged | 40 | Receives `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_NOTIFICATION_STATE_CHANGED` events. |
| typeSpeechStateChange | 2000000 | Receives `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_SPEECH_STATE_CHANGE` events. |
| typeTouchExplorationGestureEnd | 400 | Receives `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_TOUCH_EXPLORATION_GESTURE_END` events. |
| typeTouchExplorationGestureStart | 200 | Receives `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_TOUCH_EXPLORATION_GESTURE_START` events. |
| typeTouchInteractionEnd | 200000 | Receives `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_TOUCH_INTERACTION_END` events. |
| typeTouchInteractionStart | 100000 | Receives `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_TOUCH_INTERACTION_START` events. |
| typeViewAccessibilityFocusCleared | 10000 | Receives `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED` events. |
| typeViewAccessibilityFocused | 8000 | Receives `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_VIEW_ACCESSIBILITY_FOCUSED` events. |
| typeViewClicked | 1 | Receives `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_VIEW_CLICKED` events. |
| typeViewFocused | 8 | Receives `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_VIEW_FOCUSED` events. |
| typeViewHoverEnter | 80 | Receives `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_VIEW_HOVER_ENTER` events. |
| typeViewHoverExit | 100 | Receives `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_VIEW_HOVER_EXIT` events. |
| typeViewLongClicked | 2 | Receives `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_VIEW_LONG_CLICKED` events. |
| typeViewScrolled | 1000 | Receives `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_VIEW_SCROLLED` events. |
| typeViewSelected | 4 | Receives `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_VIEW_SELECTED` events. |
| typeViewTextChanged | 10 | Receives `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_VIEW_TEXT_CHANGED` events. |
| typeViewTextSelectionChanged | 2000 | Receives `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_VIEW_TEXT_SELECTION_CHANGED` events. |
| typeViewTextTraversedAtMovementGranularity | 20000 | Receives `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY` events. |
| typeWindowContentChanged | 800 | Receives `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_WINDOW_CONTENT_CHANGED` events. |
| typeWindowStateChanged | 20 | Receives `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_WINDOW_STATE_CHANGED` events. |
| typeWindowsChanged | 400000 | Receives `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_WINDOWS_CHANGED` events. |

<br />

<br />

### android:accessibilityFeedbackType

The feedback types this service provides as specified in
`https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo`. This setting
can be changed at runtime by calling
`https://developer.android.com/reference/android/accessibilityservice/AccessibilityService#setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo)`.

Must be one or more (separated by '\|') of the following constant values.

| Constant | Value | Description |
|---|---|---|
| feedbackAllMask | ffffffff | Provides `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_ALL_MASK` feedback. |
| feedbackAudible | 4 | Provides `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_AUDIBLE` feedback. |
| feedbackGeneric | 10 | Provides `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_GENERIC` feedback. |
| feedbackHaptic | 2 | Provides `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_HAPTIC` feedback. |
| feedbackSpoken | 1 | Provides `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_SPOKEN` feedback. |
| feedbackVisual | 8 | Provides `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_VISUAL` feedback. |

<br />

<br />

### android:accessibilityFlags

Additional flags as specified in
`https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo`.
This setting can be changed at runtime by calling
`https://developer.android.com/reference/android/accessibilityservice/AccessibilityService#setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo)`.

Must be one or more (separated by '\|') of the following constant values.

| Constant | Value | Description |
|---|---|---|
| flagDefault | 1 | Has flag `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#DEFAULT`. |
| flagEnableAccessibilityVolume | 80 | Has flag `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_ENABLE_ACCESSIBILITY_VOLUME`. |
| flagIncludeNotImportantViews | 2 | Has flag `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_INCLUDE_NOT_IMPORTANT_VIEWS`. |
| flagInputMethodEditor | 8000 | Has flag `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_INPUT_METHOD_EDITOR`. |
| flagReportViewIds | 10 | Has flag `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REPORT_VIEW_IDS`. |
| flagRequestAccessibilityButton | 100 | Has flag `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_ACCESSIBILITY_BUTTON`. |
| flagRequestEnhancedWebAccessibility | 8 | Has flag `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_ENHANCED_WEB_ACCESSIBILITY`. Not used by the framework. |
| flagRequestFilterKeyEvents | 20 | Has flag `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_FILTER_KEY_EVENTS`. |
| flagRequestFingerprintGestures | 200 | Has flag `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_FINGERPRINT_GESTURES`. |
| flagRequestMultiFingerGestures | 1000 | Has flag `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_MULTI_FINGER_GESTURES`. |
| flagRequestShortcutWarningDialogSpokenFeedback | 400 | Has flag `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_SHORTCUT_WARNING_DIALOG_SPOKEN_FEEDBACK`. |
| flagRequestTouchExplorationMode | 4 | Has flag `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_TOUCH_EXPLORATION_MODE`. |
| flagRequireShortcut | 20000 | Has flag `https://developer.android.com/`. |
| flagRetrieveInteractiveWindows | 40 | Has flag `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_RETRIEVE_INTERACTIVE_WINDOWS`. |
| flagSendMotionEvents | 4000 |   |
| flagServiceHandlesDoubleTap | 800 | Has flag `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_SERVICE_HANDLES_DOUBLE_TAP`. |

<br />

<br />

### android:animatedImageDrawable

Animated image of the accessibility service purpose or behavior, to help users
understand how the service can help them.

May be a reference to another resource, in the form
"`@[+][*package*:]*type*/*name*`" or a theme
attribute in the form
"`?[*package*:]*type*/*name*`".

<br />

### android:canControlMagnification

Attribute whether the accessibility service wants to be able to control
display magnification.

May be a boolean value, such as "`true`" or
"`false`".

<br />

### android:canPerformGestures

Attribute whether the accessibility service wants to be able to perform gestures.

May be a boolean value, such as "`true`" or
"`false`".

<br />

### android:canRequestFilterKeyEvents

Attribute whether the accessibility service wants to be able to request to
filter key events.


Required to allow setting the `https://developer.android.com/reference/android/accessibilityservice/package-summary` flag.

May be a boolean value, such as "`true`" or
"`false`".

<br />

### android:canRequestFingerprintGestures

Attribute whether the accessibility service wants to be able to capture gestures from
the fingerprint sensor.


Required to allow setting the `https://developer.android.com/reference/android/accessibilityservice/package-summary` flag to have any effect.

May be a boolean value, such as "`true`" or
"`false`".

<br />

### android:canRequestTouchExplorationMode

Attribute whether the accessibility service wants to be able to request touch
exploration mode in which touched items are spoken aloud and the UI can be
explored via gestures.


Required to allow setting the `https://developer.android.com/reference/android/accessibilityservice/package-summary` flag.

May be a boolean value, such as "`true`" or
"`false`".

<br />

### android:canRetrieveWindowContent

Attribute whether the accessibility service wants to be able to retrieve the
active window content. This setting cannot be changed at runtime.


Required to allow setting the `https://developer.android.com/reference/android/accessibilityservice/package-summary` flag.

May be a boolean value, such as "`true`" or
"`false`".

<br />

### android:canTakeScreenshot

Attribute whether the accessibility service wants to be able to take screenshot.

May be a boolean value, such as "`true`" or
"`false`".

<br />

### android:description

Description of the accessibility service usage, availability, or limitations (e.g.
isn't supported by all apps).

May be a reference to another resource, in the form
"`@[+][*package*:]*type*/*name*`" or a theme
attribute in the form
"`?[*package*:]*type*/*name*`".

<br />

### android:htmlDescription

Html description of the accessibility service usage, availability, or limitations (e.g.
isn't supported by all apps).

May be a reference to another resource, in the form
"`@[+][*package*:]*type*/*name*`" or a theme
attribute in the form
"`?[*package*:]*type*/*name*`".

<br />

### android:interactiveUiTimeout

A recommended timeout in milliseconds used in
`https://developer.android.com/reference/android/view/accessibility/AccessibilityManager#getRecommendedTimeoutMillis(int,%20int)`
to return a suitable value for interactive controls.
This setting can be changed at runtime by calling
`https://developer.android.com/reference/android/accessibilityservice/AccessibilityService#setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo)`.

May be an integer value, such as "`100`".

<br />

### android:intro

Detailed intro of the accessibility service purpose or behavior.

May be a reference to another resource, in the form
"`@[+][*package*:]*type*/*name*`" or a theme
attribute in the form
"`?[*package*:]*type*/*name*`".

<br />

### android:isAccessibilityTool

Attribute indicating whether the accessibility service is used to assist users with
disabilities. This criteria might be defined by the installer. The default is false.


Note: If this flag is false, system will show a notification after a duration to
inform the user about the privacy implications of the service.

May be a boolean value, such as "`true`" or
"`false`".

<br />

### android:nonInteractiveUiTimeout

A recommended timeout in milliseconds used in
`https://developer.android.com/reference/android/view/accessibility/AccessibilityManager#getRecommendedTimeoutMillis(int,%20int)`
to return a suitable value for UIs that do not include interactive controls.
This setting can be changed at runtime by calling
`https://developer.android.com/reference/android/accessibilityservice/AccessibilityService#setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo)`.

May be an integer value, such as "`100`".

<br />

### android:notificationTimeout

The minimal period in milliseconds between two accessibility events of the same type
are sent to this service. This setting can be changed at runtime by calling
`https://developer.android.com/reference/android/accessibilityservice/AccessibilityService#setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo)`.

May be an integer value, such as "`100`".

<br />

### android:packageNames

Comma separated package names from which this service would like to receive events (leave out for all packages).
`https://developer.android.com/reference/android/accessibilityservice/AccessibilityService#setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo)`.

May be a string value, using '\\\\;' to escape characters such as
'\\\\n' or '\\\\uxxxx' for a unicode character;

<br />

### android:settingsActivity

Fully qualified class name of an activity that allows the user to modify the settings
for this service. This setting cannot be changed at runtime.

May be a string value, using '\\\\;' to escape characters such as
'\\\\n' or '\\\\uxxxx' for a unicode character;

<br />

### android:summary

Brief summary of the accessibility service purpose or behavior.

May be a string value, using '\\\\;' to escape characters such as
'\\\\n' or '\\\\uxxxx' for a unicode character;

<br />

### android:tileService

Fully qualified class name of `https://developer.android.com/reference/android/service/quicksettings/TileService` is
associated with this accessibility service for one to one mapping. It is used by system
settings to remind users this accessibility service has a
`https://developer.android.com/reference/android/service/quicksettings/TileService`.

May be a string value, using '\\\\;' to escape characters such as
'\\\\n' or '\\\\uxxxx' for a unicode character;

<br />

## Constants

### CAPABILITY_CAN_CONTROL_MAGNIFICATION

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int CAPABILITY_CAN_CONTROL_MAGNIFICATION
```

Capability: This accessibility service can control display magnification.

<br />

**See also:**

- `https://developer.android.com/reference/android/R.styleable#AccessibilityService_canControlMagnification`

Constant Value:

16
(0x00000010)


### CAPABILITY_CAN_PERFORM_GESTURES

Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int CAPABILITY_CAN_PERFORM_GESTURES
```

Capability: This accessibility service can perform gestures.

<br />

**See also:**

- `https://developer.android.com/reference/android/R.styleable#AccessibilityService_canPerformGestures`

Constant Value:

32
(0x00000020)


### CAPABILITY_CAN_REQUEST_ENHANCED_WEB_ACCESSIBILITY

Added in [API level 18](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)   
Deprecated in [API level
26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int CAPABILITY_CAN_REQUEST_ENHANCED_WEB_ACCESSIBILITY
```


**This constant was deprecated
in API level 26.**   

No longer used

<br />

<br />

Constant Value:

4
(0x00000004)


### CAPABILITY_CAN_REQUEST_FILTER_KEY_EVENTS

Added in [API level 18](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int CAPABILITY_CAN_REQUEST_FILTER_KEY_EVENTS
```

Capability: This accessibility service can request to filter the key event stream.

<br />

**See also:**

- `https://developer.android.com/reference/android/R.styleable#AccessibilityService_canRequestFilterKeyEvents`

Constant Value:

8
(0x00000008)


### CAPABILITY_CAN_REQUEST_FINGERPRINT_GESTURES

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int CAPABILITY_CAN_REQUEST_FINGERPRINT_GESTURES
```

Capability: This accessibility service can capture gestures from the fingerprint sensor

<br />

**See also:**

- `https://developer.android.com/reference/android/R.styleable#AccessibilityService_canRequestFingerprintGestures`

Constant Value:

64
(0x00000040)


### CAPABILITY_CAN_REQUEST_TOUCH_EXPLORATION

Added in [API level 18](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int CAPABILITY_CAN_REQUEST_TOUCH_EXPLORATION
```

Capability: This accessibility service can request touch exploration mode in which
touched items are spoken aloud and the UI can be explored via gestures.

<br />

**See also:**

- `https://developer.android.com/reference/android/R.styleable#AccessibilityService_canRequestTouchExplorationMode`

Constant Value:

2
(0x00000002)


### CAPABILITY_CAN_RETRIEVE_WINDOW_CONTENT

Added in [API level 18](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int CAPABILITY_CAN_RETRIEVE_WINDOW_CONTENT
```

Capability: This accessibility service can retrieve the active window content.

<br />

**See also:**

- `https://developer.android.com/reference/android/R.styleable#AccessibilityService_canRetrieveWindowContent`

Constant Value:

1
(0x00000001)


### CAPABILITY_CAN_TAKE_SCREENSHOT

Added in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int CAPABILITY_CAN_TAKE_SCREENSHOT
```

Capability: This accessibility service can take screenshot.

<br />

**See also:**

- `https://developer.android.com/reference/android/R.styleable#AccessibilityService_canTakeScreenshot`

Constant Value:

128
(0x00000080)


### DEFAULT

Added in [API level 4](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int DEFAULT
```

If an `https://developer.android.com/reference/android/accessibilityservice/AccessibilityService` is the default for a given type.
Default service is invoked only if no package specific one exists. In case of
more than one package specific service only the earlier registered is notified.

<br />

Constant Value:

1
(0x00000001)


### FEEDBACK_ALL_MASK

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int FEEDBACK_ALL_MASK
```

Mask for all feedback types.

<br />

**See also:**

- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_SPOKEN`
- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_HAPTIC`
- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_AUDIBLE`
- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_VISUAL`
- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_GENERIC`
- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_BRAILLE`

Constant Value:

-1
(0xffffffff)


### FEEDBACK_AUDIBLE

Added in [API level 4](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int FEEDBACK_AUDIBLE
```

Denotes audible (not spoken) feedback.

<br />

Constant Value:

4
(0x00000004)


### FEEDBACK_BRAILLE

Added in [API level 17](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int FEEDBACK_BRAILLE
```

Denotes braille feedback.

<br />

Constant Value:

32
(0x00000020)


### FEEDBACK_GENERIC

Added in [API level 4](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int FEEDBACK_GENERIC
```

Denotes generic feedback.

<br />

Constant Value:

16
(0x00000010)


### FEEDBACK_HAPTIC

Added in [API level 4](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int FEEDBACK_HAPTIC
```

Denotes haptic feedback.

<br />

Constant Value:

2
(0x00000002)


### FEEDBACK_SPOKEN

Added in [API level 4](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int FEEDBACK_SPOKEN
```

Denotes spoken feedback.

<br />

Constant Value:

1
(0x00000001)


### FEEDBACK_VISUAL

Added in [API level 4](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int FEEDBACK_VISUAL
```

Denotes visual feedback.

<br />

Constant Value:

8
(0x00000008)


### FLAG_ENABLE_ACCESSIBILITY_VOLUME

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int FLAG_ENABLE_ACCESSIBILITY_VOLUME
```

This flag requests that all audio tracks system-wide with
`https://developer.android.com/reference/android/media/AudioAttributes#USAGE_ASSISTANCE_ACCESSIBILITY` be controlled by the
`https://developer.android.com/reference/android/media/AudioManager#STREAM_ACCESSIBILITY` volume.

<br />

Constant Value:

128
(0x00000080)


### FLAG_INCLUDE_NOT_IMPORTANT_VIEWS

Added in [API level 16](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int FLAG_INCLUDE_NOT_IMPORTANT_VIEWS
```

If this flag is set the system will regard views that are not important
for accessibility in addition to the ones that are important for accessibility.
That is, views that are marked as not important for accessibility via
`https://developer.android.com/reference/android/view/View#IMPORTANT_FOR_ACCESSIBILITY_NO` or
`https://developer.android.com/reference/android/view/View#IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS` and views that are
marked as potentially important for accessibility via
`https://developer.android.com/reference/android/view/View#IMPORTANT_FOR_ACCESSIBILITY_AUTO` for which the system has determined
that are not important for accessibility, are reported while querying the window
content and also the accessibility service will receive accessibility events from
them.


**Note:** For accessibility services targeting Android 4.1 (API level 16) or
higher, this flag has to be explicitly set for the system to regard views that are not
important for accessibility. For accessibility services targeting Android 4.0.4 (API level
15) or lower, this flag is ignored and all views are regarded for accessibility purposes.


Usually views not important for accessibility are layout managers that do not
react to user actions, do not draw any content, and do not have any special
semantics in the context of the screen content. For example, a three by three
grid can be implemented as three horizontal linear layouts and one vertical,
or three vertical linear layouts and one horizontal, or one grid layout, etc.
In this context, the actual layout managers used to achieve the grid configuration
are not important; rather it is important that there are nine evenly distributed
elements.

<br />

<br />

Constant Value:

2
(0x00000002)


### FLAG_INPUT_METHOD_EDITOR

Added in [API level 33](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int FLAG_INPUT_METHOD_EDITOR
```

This flag makes the AccessibilityService an input method editor with a subset of input
method editor capabilities: get the `https://developer.android.com/reference/android/view/inputmethod/InputConnection` and get
text selection change notifications.

<br />

**See also:**

- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityService#getInputMethod()`

Constant Value:

32768
(0x00008000)


### FLAG_REPORT_VIEW_IDS

Added in [API level 18](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int FLAG_REPORT_VIEW_IDS
```

This flag requests that the `https://developer.android.com/reference/android/view/accessibility/AccessibilityNodeInfo`s obtained
by an `https://developer.android.com/reference/android/accessibilityservice/AccessibilityService` contain the id of the source view.
The source view id will be a fully qualified resource name of the
form "package:id/name", for example "foo.bar:id/my_list", and it is
useful for UI test automation. This flag is not set by default.

<br />

Constant Value:

16
(0x00000010)


### FLAG_REQUEST_2_FINGER_PASSTHROUGH

Added in [API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int FLAG_REQUEST_2_FINGER_PASSTHROUGH
```

This flag requests that when `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_MULTI_FINGER_GESTURES` is enabled,
two-finger passthrough gestures are re-enabled. Two-finger swipe gestures are not detected,
but instead passed through as one-finger gestures. In addition, three-finger swipes from the
bottom of the screen are not detected, and instead are passed through unchanged. If `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_MULTI_FINGER_GESTURES` is disabled this flag has no effect.

<br />

**See also:**

- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_TOUCH_EXPLORATION_MODE`

Constant Value:

8192
(0x00002000)


### FLAG_REQUEST_ACCESSIBILITY_BUTTON

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int FLAG_REQUEST_ACCESSIBILITY_BUTTON
```

This flag indicates to the system that the accessibility service requests that an
accessibility button be shown within the system's navigation area, if available.


**Note:** For accessibility services targeting APIs greater than
`https://developer.android.com/reference/android/os/Build.VERSION_CODES#Q`, this flag must be specified in the
accessibility service metadata file. Otherwise, it will be ignored.

<br />

<br />

Constant Value:

256
(0x00000100)


### FLAG_REQUEST_ENHANCED_WEB_ACCESSIBILITY

Added in [API level 18](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)   
Deprecated in [API level
26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int FLAG_REQUEST_ENHANCED_WEB_ACCESSIBILITY
```


**This constant was deprecated
in API level 26.**   

No longer used

<br />

<br />

Constant Value:

8
(0x00000008)


### FLAG_REQUEST_FILTER_KEY_EVENTS

Added in [API level 18](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int FLAG_REQUEST_FILTER_KEY_EVENTS
```

This flag requests from the system to filter key events. If this flag
is set the accessibility service will receive the key events before
applications allowing it implement global shortcuts.


Services that want to set this flag have to declare this capability
in their meta-data by setting the attribute `https://developer.android.com/reference/android/R.attr` to true,
otherwise this flag will be ignored. For how to declare the meta-data
of a service refer to `https://developer.android.com/reference/android/accessibilityservice/AccessibilityService#SERVICE_META_DATA`.

<br />

<br />

**See also:**

- `https://developer.android.com/reference/android/R.styleable#AccessibilityService_canRequestFilterKeyEvents`

Constant Value:

32
(0x00000020)


### FLAG_REQUEST_FINGERPRINT_GESTURES

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int FLAG_REQUEST_FINGERPRINT_GESTURES
```

This flag requests that all fingerprint gestures be sent to the accessibility service.


Services that want to set this flag have to declare the capability
to retrieve window content in their meta-data by setting the attribute
`https://developer.android.com/reference/android/R.attr#canRequestFingerprintGestures` to
true, otherwise this flag will be ignored. For how to declare the meta-data
of a service refer to `https://developer.android.com/reference/android/accessibilityservice/AccessibilityService#SERVICE_META_DATA`.

<br />

<br />

**See also:**

- `https://developer.android.com/reference/android/R.styleable#AccessibilityService_canRequestFingerprintGestures`
- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityService#getFingerprintGestureController()`

Constant Value:

512
(0x00000200)


### FLAG_REQUEST_MULTI_FINGER_GESTURES

Added in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int FLAG_REQUEST_MULTI_FINGER_GESTURES
```

This flag requests that when `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_TOUCH_EXPLORATION_MODE` is enabled,
multi-finger gestures are also enabled. As a consequence, two-finger bypass gestures will be
disabled. If `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_TOUCH_EXPLORATION_MODE` is disabled this flag has no
effect.

<br />

**See also:**

- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_TOUCH_EXPLORATION_MODE`

Constant Value:

4096
(0x00001000)


### FLAG_REQUEST_SHORTCUT_WARNING_DIALOG_SPOKEN_FEEDBACK

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int FLAG_REQUEST_SHORTCUT_WARNING_DIALOG_SPOKEN_FEEDBACK
```

This flag requests that accessibility shortcut warning dialog has spoken feedback when
dialog is shown.

<br />

Constant Value:

1024
(0x00000400)


### FLAG_REQUEST_TOUCH_EXPLORATION_MODE

Added in [API level 16](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int FLAG_REQUEST_TOUCH_EXPLORATION_MODE
```

This flag requests that the system gets into touch exploration mode.
In this mode a single finger moving on the screen behaves as a mouse
pointer hovering over the user interface. The system will also detect
certain gestures performed on the touch screen and notify this service.
The system will enable touch exploration mode if there is at least one
accessibility service that has this flag set. Hence, clearing this
flag does not guarantee that the device will not be in touch exploration
mode since there may be another enabled service that requested it.


For accessibility services targeting Android 4.3 (API level 18) or higher
that want to set this flag have to declare this capability in their
meta-data by setting the attribute
`https://developer.android.com/reference/android/R.attr#canRequestTouchExplorationMode` to true. Otherwise, this flag will
be ignored. For how to declare the meta-data of a service refer to
`https://developer.android.com/reference/android/accessibilityservice/AccessibilityService#SERVICE_META_DATA`.


Services targeting Android 4.2.2 (API level 17) or lower will work
normally. In other words, the first time they are run, if this flag is
specified, a dialog is shown to the user to confirm enabling explore by
touch.

<br />

<br />

**See also:**

- `https://developer.android.com/reference/android/R.styleable#AccessibilityService_canRequestTouchExplorationMode`

Constant Value:

4
(0x00000004)


### FLAG_RETRIEVE_INTERACTIVE_WINDOWS

Added in [API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int FLAG_RETRIEVE_INTERACTIVE_WINDOWS
```

This flag indicates to the system that the accessibility service wants
to access content of all interactive windows. An interactive window is a
window that has input focus or can be touched by a sighted user when explore
by touch is not enabled. If this flag is not set your service will not receive
`https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_WINDOWS_CHANGED`
events, calling AccessibilityService`https://developer.android.com/reference/android/accessibilityservice/AccessibilityService#getWindows()` will return an empty list, and `https://developer.android.com/reference/android/view/accessibility/AccessibilityNodeInfo#getWindow()` will
return null.


Services that want to set this flag have to declare the capability
to retrieve window content in their meta-data by setting the attribute
`https://developer.android.com/reference/android/R.attr#canRetrieveWindowContent` to
true, otherwise this flag will be ignored. For how to declare the meta-data
of a service refer to `https://developer.android.com/reference/android/accessibilityservice/AccessibilityService#SERVICE_META_DATA`.

<br />

<br />

**See also:**

- `https://developer.android.com/reference/android/R.styleable#AccessibilityService_canRetrieveWindowContent`

Constant Value:

64
(0x00000040)


### FLAG_SEND_MOTION_EVENTS

Added in [API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int FLAG_SEND_MOTION_EVENTS
```

This flag requests that when `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_TOUCH_EXPLORATION_MODE` is enabled, a
service will receive the motion events for each successfully-detected gesture. The service
will also receive an AccessibilityGestureEvent of type GESTURE_INVALID for each cancelled
gesture along with its motion events. A service will receive a gesture of type
GESTURE_PASSTHROUGH and accompanying motion events for every passthrough gesture that does
not start gesture detection. This information can be used to collect instances of improper
gesture detection behavior and relay that information to framework developers. If `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_TOUCH_EXPLORATION_MODE` is disabled this flag has no effect.

<br />

**See also:**

- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_TOUCH_EXPLORATION_MODE`

Constant Value:

16384
(0x00004000)


### FLAG_SERVICE_HANDLES_DOUBLE_TAP

Added in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final int FLAG_SERVICE_HANDLES_DOUBLE_TAP
```

This flag requests that when `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_TOUCH_EXPLORATION_MODE` is enabled,
double tap and double tap and hold gestures are dispatched to the service rather than being
handled by the framework. If `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_TOUCH_EXPLORATION_MODE` is disabled this
flag has no effect.

<br />

**See also:**

- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_TOUCH_EXPLORATION_MODE`

Constant Value:

2048
(0x00000800)


## Fields

### CREATOR

Added in [API level 4](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final Creator<AccessibilityServiceInfo> CREATOR
```

<br />

<br />

**See also:**

- `https://developer.android.com/reference/android/os/Parcelable.Creator`

### eventTypes

Added in [API level 4](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int eventTypes
```

The event types an `https://developer.android.com/reference/android/accessibilityservice/AccessibilityService` is interested in.


**Can be dynamically set at runtime.**

<br />

<br />

**See also:**

- `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_VIEW_CLICKED`
- `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_VIEW_LONG_CLICKED`
- `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_VIEW_FOCUSED`
- `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_VIEW_SELECTED`
- `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_VIEW_TEXT_CHANGED`
- `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_WINDOW_STATE_CHANGED`
- `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_NOTIFICATION_STATE_CHANGED`
- `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_TOUCH_EXPLORATION_GESTURE_START`
- `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_TOUCH_EXPLORATION_GESTURE_END`
- `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_VIEW_HOVER_ENTER`
- `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_VIEW_HOVER_EXIT`
- `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_VIEW_SCROLLED`
- `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_VIEW_TEXT_SELECTION_CHANGED`
- `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_WINDOW_CONTENT_CHANGED`
- `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_TOUCH_INTERACTION_START`
- `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_TOUCH_INTERACTION_END`
- `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_ANNOUNCEMENT`
- `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_GESTURE_DETECTION_START`
- `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_GESTURE_DETECTION_END`
- `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_VIEW_ACCESSIBILITY_FOCUSED`
- `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED`
- `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY`
- `https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent#TYPE_WINDOWS_CHANGED`

### feedbackType

Added in [API level 4](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int feedbackType
```

The feedback type an `https://developer.android.com/reference/android/accessibilityservice/AccessibilityService` provides.


**Can be dynamically set at runtime.**
.   
Value is either `0` or a combination of the following:

- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_AUDIBLE`
- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_GENERIC`
- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_HAPTIC`
- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_SPOKEN`
- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_VISUAL`
- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_BRAILLE`
**See also:**

  - `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_AUDIBLE`
  - `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_GENERIC`
  - `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_HAPTIC`
  - `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_SPOKEN`
  - `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_VISUAL`
  - `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_BRAILLE`

### flags

Added in [API level 4](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int flags
```

This field represents a set of flags used for configuring an
`https://developer.android.com/reference/android/accessibilityservice/AccessibilityService`.


**Can be dynamically set at runtime.**


**Note:** Accessibility services with targetSdkVersion greater than
`https://developer.android.com/reference/android/os/Build.VERSION_CODES#Q` cannot dynamically set the
`https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_ACCESSIBILITY_BUTTON` at runtime. It must be specified in the
accessibility service metadata file.

<br />

<br />

**See also:**

- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#DEFAULT`
- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_INCLUDE_NOT_IMPORTANT_VIEWS`
- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_TOUCH_EXPLORATION_MODE`
- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_ENHANCED_WEB_ACCESSIBILITY`
- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_FILTER_KEY_EVENTS`
- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REPORT_VIEW_IDS`
- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_RETRIEVE_INTERACTIVE_WINDOWS`
- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_ENABLE_ACCESSIBILITY_VOLUME`
- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_ACCESSIBILITY_BUTTON`
- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_REQUEST_SHORTCUT_WARNING_DIALOG_SPOKEN_FEEDBACK`
- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FLAG_INPUT_METHOD_EDITOR`

### notificationTimeout

Added in [API level 4](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public long notificationTimeout
```

The timeout, in milliseconds, after the most recent event of a given type before an
`https://developer.android.com/reference/android/accessibilityservice/AccessibilityService` is notified.


**Can be dynamically set at runtime.**


**Note:** The event notification timeout is useful to avoid propagating
events to the client too frequently since this is accomplished via an expensive
interprocess call. One can think of the timeout as a criteria to determine when
event generation has settled down.

<br />

### packageNames

Added in [API level 4](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public String[] packageNames
```

The package names an `https://developer.android.com/reference/android/accessibilityservice/AccessibilityService` is interested in. Setting
to `null` is equivalent to all packages.


**Can be dynamically set at runtime.**

<br />

<br />

## Public constructors

### AccessibilityServiceInfo

Added in [API level 4](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public AccessibilityServiceInfo ()
```

Creates a new instance.

<br />

## Public methods

### capabilityToString

Added in [API level 18](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static String capabilityToString (int capability)
```

Returns the string representation of a capability. For example,
`https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#CAPABILITY_CAN_RETRIEVE_WINDOW_CONTENT` is represented
by the string CAPABILITY_CAN_RETRIEVE_WINDOW_CONTENT.

<br />

| Parameters ||
|---|---|
| `capability` | `int`: The capability. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | The string representation. <br /> |

### describeContents

Added in [API level 4](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int describeContents ()
```

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 `https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)`,
the return value of this method must include the
`https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR` bit.

<br />

| Returns ||
|---|---|
| `int` | a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either `0` or - `https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR` |

### equals

Added in [API level 4](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean equals (Object obj)
```

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.

<br />

| Parameters ||
|---|---|
| `obj` | `Object`: This value may be `null`. <br /> |

| Returns ||
|---|---|
| `boolean` | `true` if this object is the same as the obj argument; `false` otherwise. <br /> |

### feedbackTypeToString

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static String feedbackTypeToString (int feedbackType)
```

Returns the string representation of a feedback type. For example,
`https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#FEEDBACK_SPOKEN` is represented by the string FEEDBACK_SPOKEN.

<br />

| Parameters ||
|---|---|
| `feedbackType` | `int`: The feedback type. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | The string representation. <br /> |

### flagToString

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static String flagToString (int flag)
```

Returns the string representation of a flag. For example,
`https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#DEFAULT` is represented by the string DEFAULT.

<br />

| Parameters ||
|---|---|
| `flag` | `int`: The flag. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | The string representation. <br /> |

### getCanRetrieveWindowContent

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)   
Deprecated in [API level
18](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean getCanRetrieveWindowContent ()
```


**This method was deprecated
in API level 18.**   

Use `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#getCapabilities()`.

Whether this service can retrieve the current window's content.


**Statically set from
`https://developer.android.com/reference/android/accessibilityservice/AccessibilityService#SERVICE_META_DATA`.**

<br />

<br />

| Returns ||
|---|---|
| `boolean` | True if window content can be retrieved. <br /> |

### getCapabilities

Added in [API level 18](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getCapabilities ()
```

Returns the bit mask of capabilities this accessibility service has such as
being able to retrieve the active window content, etc.

<br />

| Returns ||
|---|---|
| `int` | The capability bit mask. <br /> |

**See also:**

- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#CAPABILITY_CAN_RETRIEVE_WINDOW_CONTENT`
- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#CAPABILITY_CAN_REQUEST_TOUCH_EXPLORATION`
- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#CAPABILITY_CAN_REQUEST_FILTER_KEY_EVENTS`
- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#CAPABILITY_CAN_CONTROL_MAGNIFICATION`
- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#CAPABILITY_CAN_PERFORM_GESTURES`
- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#CAPABILITY_CAN_TAKE_SCREENSHOT`

### getDescription

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)   
Deprecated in [API level
16](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public String getDescription ()
```


**This method was deprecated
in API level 16.**   

Use `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#loadDescription(android.content.pm.PackageManager)`.

Gets the non-localized description of the accessibility service.


**Statically set from
`https://developer.android.com/reference/android/accessibilityservice/AccessibilityService#SERVICE_META_DATA`.**

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | The description. <br /> |

### getId

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public String getId ()
```

The accessibility service id.


**Generated by the system.**

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | The id (or `null` if the component is not set yet). <br /> |

### getInteractiveUiTimeoutMillis

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getInteractiveUiTimeoutMillis ()
```

Get the recommended timeout for interactive controls.

<br />

| Returns ||
|---|---|
| `int` | The timeout in milliseconds. <br /> |

**See also:**

- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#setInteractiveUiTimeoutMillis(int)`

### getMotionEventSources

Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getMotionEventSources ()
```

Returns the bit mask of `https://developer.android.com/reference/android/view/InputDevice` sources that the accessibility
service wants to listen to for generic `https://developer.android.com/reference/android/view/MotionEvent`s.

<br />

| Returns ||
|---|---|
| `int` | Value is either `0` or a combination of the following: - `https://developer.android.com/reference/android/view/InputDevice#SOURCE_MOUSE` - `https://developer.android.com/reference/android/view/InputDevice#SOURCE_STYLUS` - `https://developer.android.com/reference/android/view/InputDevice#SOURCE_BLUETOOTH_STYLUS` - `https://developer.android.com/reference/android/view/InputDevice#SOURCE_TRACKBALL` - `https://developer.android.com/reference/android/view/InputDevice#SOURCE_MOUSE_RELATIVE` - `https://developer.android.com/reference/android/view/InputDevice#SOURCE_TOUCHPAD` - `https://developer.android.com/reference/android/view/InputDevice#SOURCE_TOUCH_NAVIGATION` - `https://developer.android.com/reference/android/view/InputDevice#SOURCE_ROTARY_ENCODER` - `https://developer.android.com/reference/android/view/InputDevice#SOURCE_JOYSTICK` - `https://developer.android.com/reference/android/view/InputDevice#SOURCE_SENSOR` - `https://developer.android.com/reference/android/view/InputDevice#SOURCE_TOUCHSCREEN` |

### getNonInteractiveUiTimeoutMillis

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getNonInteractiveUiTimeoutMillis ()
```

Get the recommended timeout for non-interactive controls.

<br />

| Returns ||
|---|---|
| `int` | The timeout in milliseconds. <br /> |

**See also:**

- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo#setNonInteractiveUiTimeoutMillis(int)`

### getResolveInfo

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public ResolveInfo getResolveInfo ()
```

The service `https://developer.android.com/reference/android/content/pm/ResolveInfo`.


**Generated by the system.**

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/content/pm/ResolveInfo` | The info. <br /> |

### getSettingsActivityName

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public String getSettingsActivityName ()
```

The settings activity name.


**Statically set from
`https://developer.android.com/reference/android/accessibilityservice/AccessibilityService#SERVICE_META_DATA`.**

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | The settings activity name. <br /> |

### getTileServiceName

Added in [API level 33](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public String getTileServiceName ()
```

Gets the name of `https://developer.android.com/reference/android/service/quicksettings/TileService` is associated with
this accessibility service.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | The name of `https://developer.android.com/reference/android/service/quicksettings/TileService`. This value may be `null`. <br /> |

### hashCode

Added in [API level 4](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int hashCode ()
```

Returns a hash code value for the object. This method is
supported for the benefit of hash tables such as those provided by
`https://developer.android.com/reference/java/util/HashMap`.


The general contract of `hashCode` is:

- Whenever it is invoked on the same object more than once during an execution of a Java application, the `hashCode` method must consistently return the same integer, provided no information used in `equals` comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
- If two objects are equal according to the `https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)` method, then calling the `hashCode` method on each of the two objects must produce the same integer result.
- It is *not* required that if two objects are unequal according to the `https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)` method, then calling the `hashCode` method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.

<br />

<br />

| Returns ||
|---|---|
| `int` | a hash code value for this object. <br /> |

### isAccessibilityTool

Added in [API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean isAccessibilityTool ()
```

Indicates if the service is used to assist users with disabilities.

<br />

| Returns ||
|---|---|
| `boolean` | `true` if the property is set to true. <br /> |

### loadDescription

Added in [API level 16](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public String loadDescription (PackageManager packageManager)
```

The localized description of the accessibility service.


**Statically set from
`https://developer.android.com/reference/android/accessibilityservice/AccessibilityService#SERVICE_META_DATA`.**

<br />

<br />

| Parameters ||
|---|---|
| `packageManager` | `PackageManager` <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | The localized description. <br /> |

### loadIntro

Added in [API level 33](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public CharSequence loadIntro (PackageManager packageManager)
```

The localized intro of the accessibility service.


**Statically set from
`https://developer.android.com/reference/android/accessibilityservice/AccessibilityService#SERVICE_META_DATA`.**

<br />

<br />

| Parameters ||
|---|---|
| `packageManager` | `PackageManager`: This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/CharSequence` | The localized intro if available, and `null` if a intro has not been provided. <br /> |

### loadSummary

Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public CharSequence loadSummary (PackageManager packageManager)
```

The localized summary of the accessibility service.

**Statically set from `https://developer.android.com/reference/android/accessibilityservice/AccessibilityService#SERVICE_META_DATA`.**

<br />

| Parameters ||
|---|---|
| `packageManager` | `PackageManager` <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/CharSequence` | The localized summary if available, and `null` if a summary has not been provided. <br /> |

### setInteractiveUiTimeoutMillis

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void setInteractiveUiTimeoutMillis (int timeout)
```

Set the recommended time that interactive controls need to remain on the screen to
support the user.


**This value can be dynamically set at runtime by
`https://developer.android.com/reference/android/accessibilityservice/AccessibilityService#setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo)`.**

<br />

<br />

| Parameters ||
|---|---|
| `timeout` | `int`: The timeout in milliseconds. Value is 0 or greater <br /> |

**See also:**

- `https://developer.android.com/reference/android/R.styleable#AccessibilityService_interactiveUiTimeout`

### setMotionEventSources

Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void setMotionEventSources (int motionEventSources)
```

Sets the bit mask of `https://developer.android.com/reference/android/view/InputDevice` sources that the accessibility
service wants to listen to for generic `https://developer.android.com/reference/android/view/MotionEvent`s.


Including an `https://developer.android.com/reference/android/view/InputDevice` source that does not send
`https://developer.android.com/reference/android/view/MotionEvent`s is effectively a no-op for that source, since you will
not receive any events from that source.


See `https://developer.android.com/reference/android/view/InputDevice` for complete source definitions.
Many input devices send `https://developer.android.com/reference/android/view/InputEvent`s from more than one type of source so
you may need to include multiple `https://developer.android.com/reference/android/view/MotionEvent` sources here, in addition
to using `https://developer.android.com/reference/android/accessibilityservice/AccessibilityService#onKeyEvent(android.view.KeyEvent)` to listen to `https://developer.android.com/reference/android/view/KeyEvent`s.


**Note:** `https://developer.android.com/reference/android/view/InputDevice` sources contain source class bits
that complicate bitwise flag removal operations. To remove a specific source you should
rebuild the entire value using bitwise OR operations on the individual source constants.

<br />

<br />

| Parameters ||
|---|---|
| `motionEventSources` | `int`: A bit mask of `https://developer.android.com/reference/android/view/InputDevice` sources. Value is either `0` or a combination of the following: - `https://developer.android.com/reference/android/view/InputDevice#SOURCE_MOUSE` - `https://developer.android.com/reference/android/view/InputDevice#SOURCE_STYLUS` - `https://developer.android.com/reference/android/view/InputDevice#SOURCE_BLUETOOTH_STYLUS` - `https://developer.android.com/reference/android/view/InputDevice#SOURCE_TRACKBALL` - `https://developer.android.com/reference/android/view/InputDevice#SOURCE_MOUSE_RELATIVE` - `https://developer.android.com/reference/android/view/InputDevice#SOURCE_TOUCHPAD` - `https://developer.android.com/reference/android/view/InputDevice#SOURCE_TOUCH_NAVIGATION` - `https://developer.android.com/reference/android/view/InputDevice#SOURCE_ROTARY_ENCODER` - `https://developer.android.com/reference/android/view/InputDevice#SOURCE_JOYSTICK` - `https://developer.android.com/reference/android/view/InputDevice#SOURCE_SENSOR` - `https://developer.android.com/reference/android/view/InputDevice#SOURCE_TOUCHSCREEN` |

**See also:**

- `https://developer.android.com/reference/android/accessibilityservice/AccessibilityService#onMotionEvent(android.view.MotionEvent)`

### setNonInteractiveUiTimeoutMillis

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void setNonInteractiveUiTimeoutMillis (int timeout)
```

Set the recommended time that non-interactive controls need to remain on the screen to
support the user.


**This value can be dynamically set at runtime by
`https://developer.android.com/reference/android/accessibilityservice/AccessibilityService#setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo)`.**

<br />

<br />

| Parameters ||
|---|---|
| `timeout` | `int`: The timeout in milliseconds. Value is 0 or greater <br /> |

**See also:**

- `https://developer.android.com/reference/android/R.styleable#AccessibilityService_nonInteractiveUiTimeout`

### toString

Added in [API level 4](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public String toString ()
```

Returns a string representation of the object.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | a string representation of the object. <br /> |

### writeToParcel

Added in [API level 4](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void writeToParcel (Parcel parcel, 
                int flagz)
```

Flatten this object in to a Parcel.

<br />

| Parameters ||
|---|---|
| `parcel` | `Parcel`: The Parcel in which the object should be written. This value cannot be `null`. <br /> |
| `flagz` | `int`: Additional flags about how the object should be written. May be 0 or `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE`. Value is either `0` or a combination of the following: - `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE` |