# AccessibilityManagerCompat

Artifact: [androidx.core:core](https://developer.android.com/jetpack/androidx/releases/core) [View Source](https://cs.android.com/search?q=file:androidx/core/view/accessibility/AccessibilityManagerCompat.java+class:androidx.core.view.accessibility.AccessibilityManagerCompat) Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)

*** ** * ** ***


```
public final class AccessibilityManagerCompat
```

<br />

*** ** * ** ***

Helper for accessing features in `https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.html`.

## Summary

| ### Nested types |
|---|
| `public interface https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityManagerCompat.AccessibilityStateChangeListener` **This interface is deprecated.** Use `https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.AccessibilityStateChangeListener.html` directly instead of this listener. <br /> |
| `public abstract class https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat implements https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityManagerCompat.AccessibilityStateChangeListener` **This class is deprecated.** Use `https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.AccessibilityStateChangeListener.html` directly instead of this listener. <br /> |
| `public interface https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityManagerCompat.TouchExplorationStateChangeListener` Listener for the system touch exploration state. |

| ### Public methods |
|---|---|
| `static boolean` | `[addAccessibilityStateChangeListener](https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityManagerCompat#addAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager,androidx.core.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener))( https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.html manager, https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityManagerCompat.AccessibilityStateChangeListener listener )` **This method is deprecated.** Use `https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.html#addAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener)` directly. <br /> |
| `static boolean` | `@https://developer.android.com/reference/androidx/annotation/ReplaceWith(expression = "manager.addTouchExplorationStateChangeListener(listener)") [addTouchExplorationStateChangeListener](https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityManagerCompat#addTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager,androidx.core.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener))( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.html manager, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityManagerCompat.TouchExplorationStateChangeListener listener )` **This method is deprecated.** Call `https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.html#addTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener)` directly. <br /> |
| `static https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo.html>` | `@https://developer.android.com/reference/androidx/annotation/ReplaceWith(expression = "manager.getEnabledAccessibilityServiceList(feedbackTypeFlags)") [getEnabledAccessibilityServiceList](https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityManagerCompat#getEnabledAccessibilityServiceList(android.view.accessibility.AccessibilityManager,int))( https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.html manager, int feedbackTypeFlags )` **This method is deprecated.** Use `https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.html#getEnabledAccessibilityServiceList(int)` directly. <br /> |
| `static https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo.html>` | `@https://developer.android.com/reference/androidx/annotation/ReplaceWith(expression = "manager.getInstalledAccessibilityServiceList()") [getInstalledAccessibilityServiceList](https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityManagerCompat#getInstalledAccessibilityServiceList(android.view.accessibility.AccessibilityManager))(https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.html manager)` **This method is deprecated.** Use `https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.html#getInstalledAccessibilityServiceList()` directly. <br /> |
| `static boolean` | `https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityManagerCompat#isRequestFromAccessibilityTool(android.view.accessibility.AccessibilityManager)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.html manager)` Whether the current accessibility request comes from an `https://developer.android.com/reference/android/accessibilityservice/AccessibilityService.html` with the `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo.html#isAccessibilityTool()` property set to true. |
| `static boolean` | `@https://developer.android.com/reference/androidx/annotation/ReplaceWith(expression = "manager.isTouchExplorationEnabled()") [isTouchExplorationEnabled](https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityManagerCompat#isTouchExplorationEnabled(android.view.accessibility.AccessibilityManager))(https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.html manager)` **This method is deprecated.** Use `https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.html#isTouchExplorationEnabled()` directly. <br /> |
| `static boolean` | `[removeAccessibilityStateChangeListener](https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityManagerCompat#removeAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager,androidx.core.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener))( https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.html manager, https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityManagerCompat.AccessibilityStateChangeListener listener )` **This method is deprecated.** Use `https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.html#removeAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener)` directly. <br /> |
| `static boolean` | `@https://developer.android.com/reference/androidx/annotation/ReplaceWith(expression = "manager.removeTouchExplorationStateChangeListener(listener)") [removeTouchExplorationStateChangeListener](https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityManagerCompat#removeTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager,androidx.core.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener))( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.html manager, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityManagerCompat.TouchExplorationStateChangeListener listener )` **This method is deprecated.** Call `https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.html#removeTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener)` directly. <br /> |

## Public methods

### addAccessibilityStateChangeListener

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0) Deprecated in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)

```
public static boolean [addAccessibilityStateChangeListener](https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityManagerCompat#addAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager,androidx.core.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener))(
    AccessibilityManager manager,
    AccessibilityManagerCompat.AccessibilityStateChangeListener listener
)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Use `https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.html#addAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener)` directly.

Registers an `https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.AccessibilityStateChangeListener.html` for changes in the global accessibility state of the system.

| Parameters |
|---|---|
| `https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.html manager` | The accessibility manager. |
| `https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityManagerCompat.AccessibilityStateChangeListener listener` | The listener. |

| Returns |
|---|---|
| `boolean` | True if successfully registered. |

### addTouchExplorationStateChangeListener

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0) Deprecated in [1.15.0](https://developer.android.com/jetpack/androidx/releases/core#1.15.0)

```
@ReplaceWith(expression = "manager.addTouchExplorationStateChangeListener(listener)")
public static boolean [addTouchExplorationStateChangeListener](https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityManagerCompat#addTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager,androidx.core.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener))(
    @NonNull AccessibilityManager manager,
    @NonNull AccessibilityManagerCompat.TouchExplorationStateChangeListener listener
)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Call `https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.html#addTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener)` directly.

Registers a `https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityManagerCompat.TouchExplorationStateChangeListener` for changes in the global touch exploration state of the system.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.html manager` | AccessibilityManager for which to add the listener. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityManagerCompat.TouchExplorationStateChangeListener listener` | The listener. |

| Returns |
|---|---|
| `boolean` | True if successfully registered. |

### getEnabledAccessibilityServiceList

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0) Deprecated in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)

```
@ReplaceWith(expression = "manager.getEnabledAccessibilityServiceList(feedbackTypeFlags)")
public static List<AccessibilityServiceInfo> [getEnabledAccessibilityServiceList](https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityManagerCompat#getEnabledAccessibilityServiceList(android.view.accessibility.AccessibilityManager,int))(
    AccessibilityManager manager,
    int feedbackTypeFlags
)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Use `https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.html#getEnabledAccessibilityServiceList(int)` directly.

Returns the `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo.html`s of the enabled accessibility services for a given feedback type.

| Parameters |
|---|---|
| `https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.html manager` | The accessibility manager. |
| `int feedbackTypeFlags` | The feedback type flags. |

| Returns |
|---|---|
| `https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo.html>` | An unmodifiable list with `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo.html`s. |

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

### getInstalledAccessibilityServiceList

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0) Deprecated in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)

```
@ReplaceWith(expression = "manager.getInstalledAccessibilityServiceList()")
public static List<AccessibilityServiceInfo> [getInstalledAccessibilityServiceList](https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityManagerCompat#getInstalledAccessibilityServiceList(android.view.accessibility.AccessibilityManager))(AccessibilityManager manager)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Use `https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.html#getInstalledAccessibilityServiceList()` directly.

Returns the `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo.html`s of the installed accessibility services.

| Parameters |
|---|---|
| `https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.html manager` | The accessibility manager. |

| Returns |
|---|---|
| `https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo.html>` | An unmodifiable list with `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo.html`s. |

### isRequestFromAccessibilityTool

Added in [1.12.0](https://developer.android.com/jetpack/androidx/releases/core#1.12.0)

```
public static boolean isRequestFromAccessibilityTool(@NonNull AccessibilityManager manager)
```

Whether the current accessibility request comes from an `https://developer.android.com/reference/android/accessibilityservice/AccessibilityService.html` with the `https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo.html#isAccessibilityTool()` property set to true.

You can use this method inside `https://developer.android.com/reference/android/view/accessibility/AccessibilityNodeProvider.html` to decide how to populate your nodes.

**Note:** The return value is valid only when an `https://developer.android.com/reference/android/view/accessibility/AccessibilityNodeInfo.html` request is in progress, can change from one request to another, and has no meaning when a request is not in progress.

| Returns |
|---|---|
| `boolean` | True if the current request is from a tool that sets isAccessibilityTool. |

### isTouchExplorationEnabled

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0) Deprecated in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)

```
@ReplaceWith(expression = "manager.isTouchExplorationEnabled()")
public static boolean [isTouchExplorationEnabled](https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityManagerCompat#isTouchExplorationEnabled(android.view.accessibility.AccessibilityManager))(AccessibilityManager manager)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Use `https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.html#isTouchExplorationEnabled()` directly.

Returns if the touch exploration in the system is enabled.

| Parameters |
|---|---|
| `https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.html manager` | The accessibility manager. |

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

### removeAccessibilityStateChangeListener

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0) Deprecated in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)

```
public static boolean [removeAccessibilityStateChangeListener](https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityManagerCompat#removeAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager,androidx.core.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener))(
    AccessibilityManager manager,
    AccessibilityManagerCompat.AccessibilityStateChangeListener listener
)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Use `https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.html#removeAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener)` directly.

Unregisters an `https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.AccessibilityStateChangeListener.html`.

| Parameters |
|---|---|
| `https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.html manager` | The accessibility manager. |
| `https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityManagerCompat.AccessibilityStateChangeListener listener` | The listener. |

| Returns |
|---|---|
| `boolean` | True if successfully unregistered. |

### removeTouchExplorationStateChangeListener

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0) Deprecated in [1.15.0](https://developer.android.com/jetpack/androidx/releases/core#1.15.0)

```
@ReplaceWith(expression = "manager.removeTouchExplorationStateChangeListener(listener)")
public static boolean [removeTouchExplorationStateChangeListener](https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityManagerCompat#removeTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager,androidx.core.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener))(
    @NonNull AccessibilityManager manager,
    @NonNull AccessibilityManagerCompat.TouchExplorationStateChangeListener listener
)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Call `https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.html#removeTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener)` directly.

Unregisters a `https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityManagerCompat.TouchExplorationStateChangeListener`.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/accessibility/AccessibilityManager.html manager` | AccessibilityManager for which to remove the listener. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/core/view/accessibility/AccessibilityManagerCompat.TouchExplorationStateChangeListener listener` | The listener. |

| Returns |
|---|---|
| `boolean` | True if successfully unregistered. |