# Print output for @column tags ?>
Developers

- Design
- Develop
- Distribute

Developer Console

## Most visited

## Recently visited

## Results for

Summary: Nested Classes | Methods | Inherited Methods

# AccessibilityButtonController

`public final class AccessibilityButtonController`
`extends Object` ``

java.lang.Object
↳ | android.accessibilityservice.AccessibilityButtonController

Controller for the accessibility button within the system's navigation area

This class may be used to query the accessibility button's state and register callbacks for interactions with and state changes to the accessibility button when `AccessibilityServiceInfo#FLAG_REQUEST_ACCESSIBILITY_BUTTON` is set.

Note: This class and `AccessibilityServiceInfo#FLAG_REQUEST_ACCESSIBILITY_BUTTON` should not be used as the sole means for offering functionality to users via an `AccessibilityService`. Some device implementations may choose not to provide a software-rendered system navigation area, making this affordance permanently unavailable.

Note: On device implementations where the accessibility button is supported, it may not be available at all times, such as when a foreground application uses `View.SYSTEM_UI_FLAG_HIDE_NAVIGATION`. A user may also choose to assign this button to another accessibility service or feature. In each of these cases, a registered `AccessibilityButtonCallback`'s `AccessibilityButtonCallback#onAvailabilityChanged(AccessibilityButtonController, boolean)` method will be invoked to provide notifications of changes in the accessibility button's availability to the registering service.

## Summary

### Nested classes
`class` | `AccessibilityButtonController.AccessibilityButtonCallback` Callback for interaction with and changes to state of the accessibility button within the system's navigation area.

### Public methods
`boolean` | `isAccessibilityButtonAvailable()` Retrieves whether the accessibility button in the system's navigation area is available to the calling service.
`void` | `registerAccessibilityButtonCallback(AccessibilityButtonController.AccessibilityButtonCallback callback, Handler handler)` Registers the provided `AccessibilityButtonCallback` for interaction and state change callbacks related to the accessibility button.
`void` | `registerAccessibilityButtonCallback(AccessibilityButtonController.AccessibilityButtonCallback callback)` Registers the provided `AccessibilityButtonCallback` for interaction and state changes callbacks related to the accessibility button.
`void` | `unregisterAccessibilityButtonCallback(AccessibilityButtonController.AccessibilityButtonCallback callback)` Unregisters the provided `AccessibilityButtonCallback` for interaction and state change callbacks related to the accessibility button.

### Inherited methods
From class `java.lang.Object`
`Object` | `clone()` Creates and returns a copy of this object.
`boolean` | `equals(Object obj)` Indicates whether some other object is "equal to" this one.
`void` | `finalize()` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
`final Class<?>` | `getClass()` Returns the runtime class of this `Object`.
`int` | `hashCode()` Returns a hash code value for the object.
`final void` | `notify()` Wakes up a single thread that is waiting on this object's monitor.
`final void` | `notifyAll()` Wakes up all threads that are waiting on this object's monitor.
`String` | `toString()` Returns a string representation of the object.
`final void` | `wait(long timeout, int nanos)` Causes the current thread to wait until another thread invokes the `notify()` method or the `notifyAll()` method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.
`final void` | `wait(long timeout)` Causes the current thread to wait until either another thread invokes the `notify()` method or the `notifyAll()` method for this object, or a specified amount of time has elapsed.
`final void` | `wait()` Causes the current thread to wait until another thread invokes the `notify()` method or the `notifyAll()` method for this object.

## Public methods

### isAccessibilityButtonAvailable

    public boolean isAccessibilityButtonAvailable ()

Retrieves whether the accessibility button in the system's navigation area is available to the calling service.

Note: If the service is not yet connected (e.g. `AccessibilityService#onServiceConnected()` has not yet been called) or the service has been disconnected, this method will have no effect and return `false`.

Returns
`boolean` | `true` if the accessibility button in the system's navigation area is available to the calling service, `false` otherwise

### registerAccessibilityButtonCallback

    public void registerAccessibilityButtonCallback (AccessibilityButtonController.AccessibilityButtonCallback callback,
                    Handler handler)

Registers the provided `AccessibilityButtonCallback` for interaction and state change callbacks related to the accessibility button. The callback will occur on the specified `Handler`'s thread, or on the services's main thread if the handler is `null`.

Parameters
`callback` | `AccessibilityButtonController.AccessibilityButtonCallback`: the callback to add, must be non-null This value cannot be `null`.
`handler` | `Handler`: the handler on which the callback should execute, must be non-null This value cannot be `null`.

### registerAccessibilityButtonCallback

    public void registerAccessibilityButtonCallback (AccessibilityButtonController.AccessibilityButtonCallback callback)

Registers the provided `AccessibilityButtonCallback` for interaction and state changes callbacks related to the accessibility button.

Parameters
`callback` | `AccessibilityButtonController.AccessibilityButtonCallback`: the callback to add, must be non-null This value cannot be `null`.

### unregisterAccessibilityButtonCallback

    public void unregisterAccessibilityButtonCallback (AccessibilityButtonController.AccessibilityButtonCallback callback)

Unregisters the provided `AccessibilityButtonCallback` for interaction and state change callbacks related to the accessibility button.

Parameters
`callback` | `AccessibilityButtonController.AccessibilityButtonCallback`: the callback to remove, must be non-null This value cannot be `null`.

Full name *
Email address *
Company / developer name
One of your Play Store app URLs *
Which best describes your business:*
Apps
Games
Apps & Games
*
*