Added in API level 26

AccessibilityButtonController


class AccessibilityButtonController
kotlin.Any
   ↳ 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 android.view.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
abstract

Callback for interaction with and changes to state of the accessibility button within the system's navigation area.

Public methods
Boolean

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

Unit

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

Unit

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

Unit

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

Public methods

isAccessibilityButtonAvailable

Added in API level 26
fun isAccessibilityButtonAvailable(): Boolean

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.

Return
Boolean true if the accessibility button in the system's navigation area is available to the calling service, false otherwise

registerAccessibilityButtonCallback

Added in API level 26
fun registerAccessibilityButtonCallback(callback: AccessibilityButtonController.AccessibilityButtonCallback): Unit

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

registerAccessibilityButtonCallback

Added in API level 26
fun registerAccessibilityButtonCallback(
    callback: AccessibilityButtonController.AccessibilityButtonCallback,
    handler: Handler
): Unit

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
handler Handler: the handler on which the callback should execute, must be non-null

unregisterAccessibilityButtonCallback

Added in API level 26
fun unregisterAccessibilityButtonCallback(callback: AccessibilityButtonController.AccessibilityButtonCallback): Unit

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