AccessibilityServiceInfo
  public
  
  
  
  class
  AccessibilityServiceInfo
  
    extends Object
  
  
  
  
  
      implements
      
        Parcelable
      
  
  
| java.lang.Object | |
| ↳ | android.accessibilityservice.AccessibilityServiceInfo | 
This class describes an AccessibilityService. The system notifies an
 AccessibilityService for AccessibilityEvents
 according to the information encapsulated in this class.
 
Developer Guides
For more information about creating AccessibilityServices, read the Accessibility developer guide.
Summary
| XML attributes | ||
|---|---|---|
| android:accessibilityEventTypes | The event types this service would like to receive as specified in AccessibilityEvent. | |
| android:accessibilityFeedbackType | The feedback types this service provides as specified in AccessibilityServiceInfo. | |
| android:accessibilityFlags | Additional flags as specified in AccessibilityServiceInfo. | |
| android:animatedImageDrawable | Animated image of the accessibility service purpose or behavior, to help users understand how the service can help them. | |
| android:canControlMagnification | Attribute whether the accessibility service wants to be able to control display magnification. | |
| android:canPerformGestures | Attribute whether the accessibility service wants to be able to perform gestures. | |
| android:canRequestFilterKeyEvents | Attribute whether the accessibility service wants to be able to request to filter key events. | |
| android:canRequestFingerprintGestures | Attribute whether the accessibility service wants to be able to capture gestures from the fingerprint sensor. | |
| 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 | Attribute whether the accessibility service wants to be able to retrieve the active window content. | |
| android:canTakeScreenshot | Attribute whether the accessibility service wants to be able to take screenshot. | |
| android:description | Description of the accessibility service usage, availability, or limitations (e.g. | |
| android:htmlDescription | Html description of the accessibility service usage, availability, or limitations (e.g. | |
| android:interactiveUiTimeout | A recommended timeout in milliseconds used in android.view.accessibility.AccessibilityManager.getRecommendedTimeoutMillis(int, int)to return a suitable value for interactive controls. | |
| android:intro | Detailed intro of the accessibility service purpose or behavior. | |
| android:isAccessibilityTool | Attribute indicating whether the accessibility service is used to assist users with disabilities. | |
| android:nonInteractiveUiTimeout | A recommended timeout in milliseconds used in android.view.accessibility.AccessibilityManager.getRecommendedTimeoutMillis(int, int)to return a suitable value for UIs that do not include interactive controls. | |
| android:notificationTimeout | The minimal period in milliseconds between two accessibility events of the same type are sent to this service. | |
| android:packageNames | Comma separated package names from which this service would like to receive events (leave out for all packages). | |
| android:settingsActivity | Fully qualified class name of an activity that allows the user to modify the settings for this service. | |
| android:summary | Brief summary of the accessibility service purpose or behavior. | |
| android:tileService | Fully qualified class name of TileServiceis
 associated with this accessibility service for one to one mapping. | |
| Constants | |
|---|---|
| int | CAPABILITY_CAN_CONTROL_MAGNIFICATIONCapability: This accessibility service can control display magnification. | 
| int | CAPABILITY_CAN_PERFORM_GESTURESCapability: This accessibility service can perform gestures. | 
| int | CAPABILITY_CAN_REQUEST_ENHANCED_WEB_ACCESSIBILITYThis constant was deprecated in API level 26. No longer used | 
| int | CAPABILITY_CAN_REQUEST_FILTER_KEY_EVENTSCapability: This accessibility service can request to filter the key event stream. | 
| int | CAPABILITY_CAN_REQUEST_FINGERPRINT_GESTURESCapability: This accessibility service can capture gestures from the fingerprint sensor | 
| int | CAPABILITY_CAN_REQUEST_TOUCH_EXPLORATIONCapability: This accessibility service can request touch exploration mode in which touched items are spoken aloud and the UI can be explored via gestures. | 
| int | CAPABILITY_CAN_RETRIEVE_WINDOW_CONTENTCapability: This accessibility service can retrieve the active window content. | 
| int | CAPABILITY_CAN_TAKE_SCREENSHOTCapability: This accessibility service can take screenshot. | 
| int | DEFAULTIf an  | 
| int | FEEDBACK_ALL_MASKMask for all feedback types. | 
| int | FEEDBACK_AUDIBLEDenotes audible (not spoken) feedback. | 
| int | FEEDBACK_BRAILLEDenotes braille feedback. | 
| int | FEEDBACK_GENERICDenotes generic feedback. | 
| int | FEEDBACK_HAPTICDenotes haptic feedback. | 
| int | FEEDBACK_SPOKENDenotes spoken feedback. | 
| int | FEEDBACK_VISUALDenotes visual feedback. | 
| int | FLAG_ENABLE_ACCESSIBILITY_VOLUMEThis flag requests that all audio tracks system-wide with
  | 
| int | FLAG_INCLUDE_NOT_IMPORTANT_VIEWSIf 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 | FLAG_INPUT_METHOD_EDITORThis flag makes the AccessibilityService an input method editor with a subset of input
 method editor capabilities: get the  | 
| int | FLAG_REPORT_VIEW_IDSThis flag requests that the  | 
| int | FLAG_REQUEST_2_FINGER_PASSTHROUGHThis flag requests that when when  | 
| int | FLAG_REQUEST_ACCESSIBILITY_BUTTONThis 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 | FLAG_REQUEST_ENHANCED_WEB_ACCESSIBILITYThis constant was deprecated in API level 26. No longer used | 
| int | FLAG_REQUEST_FILTER_KEY_EVENTSThis flag requests from the system to filter key events. | 
| int | FLAG_REQUEST_FINGERPRINT_GESTURESThis flag requests that all fingerprint gestures be sent to the accessibility service. | 
| int | FLAG_REQUEST_MULTI_FINGER_GESTURESThis flag requests that when when  | 
| int | FLAG_REQUEST_SHORTCUT_WARNING_DIALOG_SPOKEN_FEEDBACKThis flag requests that accessibility shortcut warning dialog has spoken feedback when dialog is shown. | 
| int | FLAG_REQUEST_TOUCH_EXPLORATION_MODEThis flag requests that the system gets into touch exploration mode. | 
| int | FLAG_RETRIEVE_INTERACTIVE_WINDOWSThis flag indicates to the system that the accessibility service wants to access content of all interactive windows. | 
| int | FLAG_SEND_MOTION_EVENTSThis flag requests that when when  | 
| int | FLAG_SERVICE_HANDLES_DOUBLE_TAPThis flag requests that when  | 
| Inherited constants | 
|---|
| Fields | |
|---|---|
| 
    public
    static
    final
    Creator<AccessibilityServiceInfo> | CREATOR
 | 
| 
    public
    
    
    int | eventTypesThe event types an  | 
| 
    public
    
    
    int | feedbackTypeThe feedback type an  | 
| 
    public
    
    
    int | flagsThis field represents a set of flags used for configuring an
  | 
| 
    public
    
    
    long | notificationTimeoutThe timeout, in milliseconds, after the most recent event of a given type before an
  | 
| 
    public
    
    
    String[] | packageNamesThe package names an  | 
| Public constructors | |
|---|---|
| 
      AccessibilityServiceInfo()
      Creates a new instance. | |
| Public methods | |
|---|---|
| 
        
        
        static
        
        
        String | 
      capabilityToString(int capability)
      Returns the string representation of a capability. | 
| 
        
        
        
        
        
        int | 
      describeContents()
      Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. | 
| 
        
        
        
        
        
        boolean | 
      equals(Object obj)
      Indicates whether some other object is "equal to" this one. | 
| 
        
        
        static
        
        
        String | 
      feedbackTypeToString(int feedbackType)
      Returns the string representation of a feedback type. | 
| 
        
        
        static
        
        
        String | 
      flagToString(int flag)
      Returns the string representation of a flag. | 
| 
        
        
        
        
        
        boolean | 
      getCanRetrieveWindowContent()
      
      This method was deprecated
      in API level 18.
    Use  | 
| 
        
        
        
        
        
        int | 
      getCapabilities()
      Returns the bit mask of capabilities this accessibility service has such as being able to retrieve the active window content, etc. | 
| 
        
        
        
        
        
        String | 
      getDescription()
      
      This method was deprecated
      in API level 16.
    Use  | 
| 
        
        
        
        
        
        String | 
      getId()
      The accessibility service id. | 
| 
        
        
        
        
        
        int | 
      getInteractiveUiTimeoutMillis()
      Get the recommended timeout for interactive controls. | 
| 
        
        
        
        
        
        int | 
      getMotionEventSources()
      Returns the bit mask of  | 
| 
        
        
        
        
        
        int | 
      getNonInteractiveUiTimeoutMillis()
      Get the recommended timeout for non-interactive controls. | 
| 
        
        
        
        
        
        ResolveInfo | 
      getResolveInfo()
      The service  | 
| 
        
        
        
        
        
        String | 
      getSettingsActivityName()
      The settings activity name. | 
| 
        
        
        
        
        
        String | 
      getTileServiceName()
      Gets the name of  | 
| 
        
        
        
        
        
        int | 
      hashCode()
      Returns a hash code value for the object. | 
| 
        
        
        
        
        
        boolean | 
      isAccessibilityTool()
      Indicates if the service is used to assist users with disabilities. | 
| 
        
        
        
        
        
        String | 
      loadDescription(PackageManager packageManager)
      The localized description of the accessibility service. | 
| 
        
        
        
        
        
        CharSequence | 
      loadIntro(PackageManager packageManager)
      The localized intro of the accessibility service. | 
| 
        
        
        
        
        
        CharSequence | 
      loadSummary(PackageManager packageManager)
      The localized summary of the accessibility service. | 
| 
        
        
        
        
        
        void | 
      setInteractiveUiTimeoutMillis(int timeout)
      Set the recommended time that interactive controls need to remain on the screen to support the user. | 
| 
        
        
        
        
        
        void | 
      setMotionEventSources(int motionEventSources)
      Sets the bit mask of  | 
| 
        
        
        
        
        
        void | 
      setNonInteractiveUiTimeoutMillis(int timeout)
      Set the recommended time that non-interactive controls need to remain on the screen to support the user. | 
| 
        
        
        
        
        
        String | 
      toString()
      Returns a string representation of the object. | 
| 
        
        
        
        
        
        void | 
      writeToParcel(Parcel parcel, int flagz)
      Flatten this object in to a Parcel. | 
| Inherited methods | |
|---|---|
XML attributes
android:accessibilityEventTypes
The event types this service would like to receive as specified in
 AccessibilityEvent. This setting
 can be changed at runtime by calling
 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 AccessibilityEvent.TYPES_ALL_MASKi.e. all events. | 
| typeAnnouncement | 4000 | Receives AccessibilityEvent.TYPE_ANNOUNCEMENTevents. | 
| typeAssistReadingContext | 1000000 | Receives AccessibilityEvent.TYPE_ASSIST_READING_CONTEXTevents. | 
| typeContextClicked | 800000 | Receives AccessibilityEvent.TYPE_VIEW_CONTEXT_CLICKEDevents. | 
| typeGestureDetectionEnd | 80000 | Receives AccessibilityEvent.TYPE_GESTURE_DETECTION_ENDevents. | 
| typeGestureDetectionStart | 40000 | Receives AccessibilityEvent.TYPE_GESTURE_DETECTION_STARTevents. | 
| typeNotificationStateChanged | 40 | Receives AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGEDevents. | 
| typeTouchExplorationGestureEnd | 400 | Receives AccessibilityEvent.TYPE_TOUCH_EXPLORATION_GESTURE_ENDevents. | 
| typeTouchExplorationGestureStart | 200 | Receives AccessibilityEvent.TYPE_TOUCH_EXPLORATION_GESTURE_STARTevents. | 
| typeTouchInteractionEnd | 200000 | Receives AccessibilityEvent.TYPE_TOUCH_INTERACTION_ENDevents. | 
| typeTouchInteractionStart | 100000 | Receives AccessibilityEvent.TYPE_TOUCH_INTERACTION_STARTevents. | 
| typeViewAccessibilityFocusCleared | 10000 | Receives AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEAREDevents. | 
| typeViewAccessibilityFocused | 8000 | Receives AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSEDevents. | 
| typeViewClicked | 1 | Receives AccessibilityEvent.TYPE_VIEW_CLICKEDevents. | 
| typeViewFocused | 8 | Receives AccessibilityEvent.TYPE_VIEW_FOCUSEDevents. | 
| typeViewHoverEnter | 80 | Receives AccessibilityEvent.TYPE_VIEW_HOVER_ENTERevents. | 
| typeViewHoverExit | 100 | Receives AccessibilityEvent.TYPE_VIEW_HOVER_EXITevents. | 
| typeViewLongClicked | 2 | Receives AccessibilityEvent.TYPE_VIEW_LONG_CLICKEDevents. | 
| typeViewScrolled | 1000 | Receives AccessibilityEvent.TYPE_VIEW_SCROLLEDevents. | 
| typeViewSelected | 4 | Receives AccessibilityEvent.TYPE_VIEW_SELECTEDevents. | 
| typeViewTextChanged | 10 | Receives AccessibilityEvent.TYPE_VIEW_TEXT_CHANGEDevents. | 
| typeViewTextSelectionChanged | 2000 | Receives AccessibilityEvent.TYPE_VIEW_TEXT_SELECTION_CHANGEDevents. | 
| typeViewTextTraversedAtMovementGranularity | 20000 | Receives AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITYevents. | 
| typeWindowContentChanged | 800 | Receives AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGEDevents. | 
| typeWindowStateChanged | 20 | Receives AccessibilityEvent.TYPE_WINDOW_STATE_CHANGEDevents. | 
| typeWindowsChanged | 400000 | Receives AccessibilityEvent.TYPE_WINDOWS_CHANGEDevents. | 
android:accessibilityFeedbackType
The feedback types this service provides as specified in
 AccessibilityServiceInfo. This setting
 can be changed at runtime by calling
 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 AccessibilityServiceInfo.FEEDBACK_ALL_MASKfeedback. | 
| feedbackAudible | 4 | Provides AccessibilityServiceInfo.FEEDBACK_AUDIBLEfeedback. | 
| feedbackGeneric | 10 | Provides AccessibilityServiceInfo.FEEDBACK_GENERICfeedback. | 
| feedbackHaptic | 2 | Provides AccessibilityServiceInfo.FEEDBACK_HAPTICfeedback. | 
| feedbackSpoken | 1 | Provides AccessibilityServiceInfo.FEEDBACK_SPOKENfeedback. | 
| feedbackVisual | 8 | Provides AccessibilityServiceInfo.FEEDBACK_VISUALfeedback. | 
android:accessibilityFlags
Additional flags as specified in
 AccessibilityServiceInfo.
 This setting can be changed at runtime by calling
 android.accessibilityservice.AccessibilityService.setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo).
 
Must be one or more (separated by '|') of the following constant values.
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".
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".
android:canPerformGestures
Attribute whether the accessibility service wants to be able to perform gestures.
May be a boolean value, such as "true" or
 "false".
android:canRequestFilterKeyEvents
Attribute whether the accessibility service wants to be able to request to filter key events.
 Required to allow setting the #AccessibilityServiceInfo#FLAG_REQUEST_FILTER_KEY_EVENTS flag.
 
May be a boolean value, such as "true" or
 "false".
android:canRequestFingerprintGestures
Attribute whether the accessibility service wants to be able to capture gestures from the fingerprint sensor.
 Required to allow setting the #AccessibilityServiceInfo#FLAG_REQUEST_FINGERPRINT_GESTURES flag to have any effect.
 
May be a boolean value, such as "true" or
 "false".
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 #AccessibilityServiceInfo#FLAG_REQUEST_TOUCH_EXPLORATION_MODE flag.
 
May be a boolean value, such as "true" or
 "false".
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 #AccessibilityServiceInfo#FLAG_RETRIEVE_INTERACTIVE_WINDOWS flag.
 
May be a boolean value, such as "true" or
 "false".
android:canTakeScreenshot
Attribute whether the accessibility service wants to be able to take screenshot.
May be a boolean value, such as "true" or
 "false".
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".
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".
android:interactiveUiTimeout
A recommended timeout in milliseconds used in
 android.view.accessibility.AccessibilityManager.getRecommendedTimeoutMillis(int, int)
 to return a suitable value for interactive controls.
 This setting can be changed at runtime by calling
 android.accessibilityservice.AccessibilityService.setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo).
 
May be an integer value, such as "100".
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".
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".
android:nonInteractiveUiTimeout
A recommended timeout in milliseconds used in
 android.view.accessibility.AccessibilityManager.getRecommendedTimeoutMillis(int, int)
 to return a suitable value for UIs that do not include interactive controls.
 This setting can be changed at runtime by calling
 android.accessibilityservice.AccessibilityService.setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo).
 
May be an integer value, such as "100".
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
 android.accessibilityservice.AccessibilityService.setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo).
 
May be an integer value, such as "100".
android:packageNames
Comma separated package names from which this service would like to receive events (leave out for all packages).
 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;
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;
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;
android:tileService
Fully qualified class name of 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
 TileService.
 
May be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character;
Constants
CAPABILITY_CAN_CONTROL_MAGNIFICATION
public static final int CAPABILITY_CAN_CONTROL_MAGNIFICATION
Capability: This accessibility service can control display magnification.
Constant Value: 16 (0x00000010)
CAPABILITY_CAN_PERFORM_GESTURES
public static final int CAPABILITY_CAN_PERFORM_GESTURES
Capability: This accessibility service can perform gestures.
Constant Value: 32 (0x00000020)
CAPABILITY_CAN_REQUEST_ENHANCED_WEB_ACCESSIBILITY
public static final int CAPABILITY_CAN_REQUEST_ENHANCED_WEB_ACCESSIBILITY
      This constant was deprecated
      in API level 26.
    No longer used
  
Constant Value: 4 (0x00000004)
CAPABILITY_CAN_REQUEST_FILTER_KEY_EVENTS
public static final int CAPABILITY_CAN_REQUEST_FILTER_KEY_EVENTS
Capability: This accessibility service can request to filter the key event stream.
Constant Value: 8 (0x00000008)
CAPABILITY_CAN_REQUEST_FINGERPRINT_GESTURES
public static final int CAPABILITY_CAN_REQUEST_FINGERPRINT_GESTURES
Capability: This accessibility service can capture gestures from the fingerprint sensor
Constant Value: 64 (0x00000040)
CAPABILITY_CAN_REQUEST_TOUCH_EXPLORATION
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.
Constant Value: 2 (0x00000002)
CAPABILITY_CAN_RETRIEVE_WINDOW_CONTENT
public static final int CAPABILITY_CAN_RETRIEVE_WINDOW_CONTENT
Capability: This accessibility service can retrieve the active window content.
Constant Value: 1 (0x00000001)
CAPABILITY_CAN_TAKE_SCREENSHOT
public static final int CAPABILITY_CAN_TAKE_SCREENSHOT
Capability: This accessibility service can take screenshot.
Constant Value: 128 (0x00000080)
DEFAULT
public static final int DEFAULT
If an 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.
Constant Value: 1 (0x00000001)
FEEDBACK_ALL_MASK
public static final int FEEDBACK_ALL_MASK
Mask for all feedback types.
See also:
Constant Value: -1 (0xffffffff)
FEEDBACK_AUDIBLE
public static final int FEEDBACK_AUDIBLE
Denotes audible (not spoken) feedback.
Constant Value: 4 (0x00000004)
FEEDBACK_BRAILLE
public static final int FEEDBACK_BRAILLE
Denotes braille feedback.
Constant Value: 32 (0x00000020)
FEEDBACK_GENERIC
public static final int FEEDBACK_GENERIC
Denotes generic feedback.
Constant Value: 16 (0x00000010)
FEEDBACK_HAPTIC
public static final int FEEDBACK_HAPTIC
Denotes haptic feedback.
Constant Value: 2 (0x00000002)
FEEDBACK_SPOKEN
public static final int FEEDBACK_SPOKEN
Denotes spoken feedback.
Constant Value: 1 (0x00000001)
FEEDBACK_VISUAL
public static final int FEEDBACK_VISUAL
Denotes visual feedback.
Constant Value: 8 (0x00000008)
FLAG_ENABLE_ACCESSIBILITY_VOLUME
public static final int FLAG_ENABLE_ACCESSIBILITY_VOLUME
This flag requests that all audio tracks system-wide with
 AudioAttributes.USAGE_ASSISTANCE_ACCESSIBILITY be controlled by the
 AudioManager.STREAM_ACCESSIBILITY volume.
Constant Value: 128 (0x00000080)
FLAG_INCLUDE_NOT_IMPORTANT_VIEWS
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
 View.IMPORTANT_FOR_ACCESSIBILITY_NO or
 View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS and views that are
 marked as potentially important for accessibility via
 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.
Constant Value: 2 (0x00000002)
FLAG_INPUT_METHOD_EDITOR
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 InputConnection and get
 text selection change notifications.
See also:
Constant Value: 32768 (0x00008000)
FLAG_REPORT_VIEW_IDS
public static final int FLAG_REPORT_VIEW_IDS
This flag requests that the AccessibilityNodeInfos obtained
 by an 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.
Constant Value: 16 (0x00000010)
FLAG_REQUEST_2_FINGER_PASSTHROUGH
public static final int FLAG_REQUEST_2_FINGER_PASSTHROUGH
This flag requests that when when 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 FLAG_REQUEST_MULTI_FINGER_GESTURES is disabled this flag has no effect.
See also:
Constant Value: 8192 (0x00002000)
FLAG_REQUEST_ACCESSIBILITY_BUTTON
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
   API 29, this flag must be specified in the
   accessibility service metadata file. Otherwise, it will be ignored.
 
Constant Value: 256 (0x00000100)
FLAG_REQUEST_ENHANCED_WEB_ACCESSIBILITY
public static final int FLAG_REQUEST_ENHANCED_WEB_ACCESSIBILITY
      This constant was deprecated
      in API level 26.
    No longer used
  
Constant Value: 8 (0x00000008)
FLAG_REQUEST_FILTER_KEY_EVENTS
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 #canRequestFilterKeyEvents canRequestFilterKeyEvents to true,
 otherwise this flag will be ignored. For how to declare the meta-data
 of a service refer to android.accessibilityservice.AccessibilityService.SERVICE_META_DATA AccessibilityService.SERVICE_META_DATA.
 
Constant Value: 32 (0x00000020)
FLAG_REQUEST_FINGERPRINT_GESTURES
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
 R.attr.canRequestFingerprintGestures to
 true, otherwise this flag will be ignored. For how to declare the meta-data
 of a service refer to android.accessibilityservice.AccessibilityService.SERVICE_META_DATA AccessibilityService.SERVICE_META_DATA.
 
See also:
Constant Value: 512 (0x00000200)
FLAG_REQUEST_MULTI_FINGER_GESTURES
public static final int FLAG_REQUEST_MULTI_FINGER_GESTURES
This flag requests that when when FLAG_REQUEST_TOUCH_EXPLORATION_MODE is enabled,
 multi-finger gestures are also enabled. As a consequence, two-finger bypass gestures will be
 disabled. If FLAG_REQUEST_TOUCH_EXPLORATION_MODE is disabled this flag has no
 effect.
See also:
Constant Value: 4096 (0x00001000)
FLAG_REQUEST_SHORTCUT_WARNING_DIALOG_SPOKEN_FEEDBACK
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.
Constant Value: 1024 (0x00000400)
FLAG_REQUEST_TOUCH_EXPLORATION_MODE
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
 canRequestTouchExplorationMode to true. Otherwise, this flag will
 be ignored. For how to declare the meta-data of a service refer to
 android.accessibilityservice.AccessibilityService.SERVICE_META_DATA 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.
Constant Value: 4 (0x00000004)
FLAG_RETRIEVE_INTERACTIVE_WINDOWS
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
 AccessibilityEvent.TYPE_WINDOWS_CHANGED
 events, calling AccessibilityServiceAccessibilityService.getWindows() will return an empty list, and 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
 canRetrieveWindowContent to
 true, otherwise this flag will be ignored. For how to declare the meta-data
 of a service refer to android.accessibilityservice.AccessibilityService.SERVICE_META_DATA AccessibilityService.SERVICE_META_DATA.
 
Constant Value: 64 (0x00000040)
FLAG_SEND_MOTION_EVENTS
public static final int FLAG_SEND_MOTION_EVENTS
This flag requests that when when 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 FLAG_REQUEST_TOUCH_EXPLORATION_MODE is disabled this flag has no effect.
See also:
Constant Value: 16384 (0x00004000)
FLAG_SERVICE_HANDLES_DOUBLE_TAP
public static final int FLAG_SERVICE_HANDLES_DOUBLE_TAP
This flag requests that when 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 FLAG_REQUEST_TOUCH_EXPLORATION_MODE is disabled this
 flag has no effect.
See also:
Constant Value: 2048 (0x00000800)
Fields
CREATOR
public static final Creator<AccessibilityServiceInfo> CREATOR
See also:
eventTypes
public int eventTypes
The event types an AccessibilityService is interested in.
 
Can be dynamically set at runtime.
See also:
- AccessibilityEvent.TYPE_VIEW_CLICKED
- AccessibilityEvent.TYPE_VIEW_LONG_CLICKED
- AccessibilityEvent.TYPE_VIEW_FOCUSED
- AccessibilityEvent.TYPE_VIEW_SELECTED
- AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED
- AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED
- AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED
- AccessibilityEvent.TYPE_TOUCH_EXPLORATION_GESTURE_START
- AccessibilityEvent.TYPE_TOUCH_EXPLORATION_GESTURE_END
- AccessibilityEvent.TYPE_VIEW_HOVER_ENTER
- AccessibilityEvent.TYPE_VIEW_HOVER_EXIT
- AccessibilityEvent.TYPE_VIEW_SCROLLED
- AccessibilityEvent.TYPE_VIEW_TEXT_SELECTION_CHANGED
- AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED
- AccessibilityEvent.TYPE_TOUCH_INTERACTION_START
- AccessibilityEvent.TYPE_TOUCH_INTERACTION_END
- AccessibilityEvent.TYPE_ANNOUNCEMENT
- AccessibilityEvent.TYPE_GESTURE_DETECTION_START
- AccessibilityEvent.TYPE_GESTURE_DETECTION_END
- AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED
- AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED
- AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
- AccessibilityEvent.TYPE_WINDOWS_CHANGED
feedbackType
public int feedbackType
The feedback type an AccessibilityService provides.
 
Can be dynamically set at runtime.
Value is either
0 or a combination of FEEDBACK_AUDIBLE, FEEDBACK_GENERIC, FEEDBACK_HAPTIC, FEEDBACK_SPOKEN, FEEDBACK_VISUAL, and FEEDBACK_BRAILLE
  
    
flags
public int flags
This field represents a set of flags used for configuring an
 AccessibilityService.
 
Can be dynamically set at runtime.
   Note: Accessibility services with targetSdkVersion greater than
   API 29 cannot dynamically set the
   FLAG_REQUEST_ACCESSIBILITY_BUTTON at runtime. It must be specified in the
   accessibility service metadata file.
 
See also:
- DEFAULT
- FLAG_INCLUDE_NOT_IMPORTANT_VIEWS
- FLAG_REQUEST_TOUCH_EXPLORATION_MODE
- FLAG_REQUEST_ENHANCED_WEB_ACCESSIBILITY
- FLAG_REQUEST_FILTER_KEY_EVENTS
- FLAG_REPORT_VIEW_IDS
- FLAG_RETRIEVE_INTERACTIVE_WINDOWS
- FLAG_ENABLE_ACCESSIBILITY_VOLUME
- FLAG_REQUEST_ACCESSIBILITY_BUTTON
- FLAG_REQUEST_SHORTCUT_WARNING_DIALOG_SPOKEN_FEEDBACK
- FLAG_INPUT_METHOD_EDITOR
notificationTimeout
public long notificationTimeout
The timeout, in milliseconds, after the most recent event of a given type before an
 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.
packageNames
public String[] packageNames
The package names an AccessibilityService is interested in. Setting
 to null is equivalent to all packages.
 
Can be dynamically set at runtime.
Public constructors
AccessibilityServiceInfo
public AccessibilityServiceInfo ()
Creates a new instance.
Public methods
capabilityToString
public static String capabilityToString (int capability)
Returns the string representation of a capability. For example,
 CAPABILITY_CAN_RETRIEVE_WINDOW_CONTENT is represented
 by the string CAPABILITY_CAN_RETRIEVE_WINDOW_CONTENT.
| Parameters | |
|---|---|
| capability | int: The capability. | 
| Returns | |
|---|---|
| String | The string representation. | 
describeContents
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 writeToParcel(android.os.Parcel, int),
 the return value of this method must include the
 CONTENTS_FILE_DESCRIPTOR bit.
| Returns | |
|---|---|
| int | a bitmask indicating the set of special object types marshaled
 by this Parcelable object instance.
 Value is either 0orCONTENTS_FILE_DESCRIPTOR | 
equals
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 returntrue.
- It is symmetric: for any non-null reference values
     xandy,x.equals(y)should returntrueif and only ify.equals(x)returnstrue.
- It is transitive: for any non-null reference values
     x,y, andz, ifx.equals(y)returnstrueandy.equals(z)returnstrue, thenx.equals(z)should returntrue.
- It is consistent: for any non-null reference values
     xandy, multiple invocations ofx.equals(y)consistently returntrueor consistently returnfalse, provided no information used inequalscomparisons on the objects is modified.
- For any non-null reference value x,x.equals(null)should returnfalse.
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.
| Parameters | |
|---|---|
| obj | Object: This value may benull. | 
| Returns | |
|---|---|
| boolean | trueif this object is the same as the obj
          argument;falseotherwise. | 
feedbackTypeToString
public static String feedbackTypeToString (int feedbackType)
Returns the string representation of a feedback type. For example,
 FEEDBACK_SPOKEN is represented by the string FEEDBACK_SPOKEN.
| Parameters | |
|---|---|
| feedbackType | int: The feedback type. | 
| Returns | |
|---|---|
| String | The string representation. | 
flagToString
public static String flagToString (int flag)
Returns the string representation of a flag. For example,
 DEFAULT is represented by the string DEFAULT.
| Parameters | |
|---|---|
| flag | int: The flag. | 
| Returns | |
|---|---|
| String | The string representation. | 
getCanRetrieveWindowContent
public boolean getCanRetrieveWindowContent ()
      This method was deprecated
      in API level 18.
    Use getCapabilities().
  
Whether this service can retrieve the current window's content.
    Statically set from
    meta-data.
 
| Returns | |
|---|---|
| boolean | True if window content can be retrieved. | 
getCapabilities
public int getCapabilities ()
Returns the bit mask of capabilities this accessibility service has such as being able to retrieve the active window content, etc.
| Returns | |
|---|---|
| int | The capability bit mask. | 
getDescription
public String getDescription ()
      This method was deprecated
      in API level 16.
    Use loadDescription(android.content.pm.PackageManager).
  
Gets the non-localized description of the accessibility service.
    Statically set from
    meta-data.
 
| Returns | |
|---|---|
| String | The description. | 
getId
public String getId ()
The accessibility service id.
Generated by the system.
| Returns | |
|---|---|
| String | The id (or nullif the component is not set yet). | 
getInteractiveUiTimeoutMillis
public int getInteractiveUiTimeoutMillis ()
Get the recommended timeout for interactive controls.
| Returns | |
|---|---|
| int | The timeout in milliseconds. | 
See also:
getMotionEventSources
public int getMotionEventSources ()
Returns the bit mask of InputDevice sources that the accessibility
 service wants to listen to for generic MotionEvents.
getNonInteractiveUiTimeoutMillis
public int getNonInteractiveUiTimeoutMillis ()
Get the recommended timeout for non-interactive controls.
| Returns | |
|---|---|
| int | The timeout in milliseconds. | 
See also:
getResolveInfo
public ResolveInfo getResolveInfo ()
The service ResolveInfo.
 
Generated by the system.
| Returns | |
|---|---|
| ResolveInfo | The info. | 
getSettingsActivityName
public String getSettingsActivityName ()
The settings activity name.
    Statically set from
    meta-data.
 
| Returns | |
|---|---|
| String | The settings activity name. | 
getTileServiceName
public String getTileServiceName ()
Gets the name of TileService is associated with
 this accessibility service.
| Returns | |
|---|---|
| String | The name of TileService.
 This value may benull. | 
hashCode
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
 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 hashCodemethod must consistently return the same integer, provided no information used inequalscomparisons 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 equalsmethod, then calling thehashCodemethod 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 equalsmethod, then calling thehashCodemethod 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.
| Returns | |
|---|---|
| int | a hash code value for this object. | 
isAccessibilityTool
public boolean isAccessibilityTool ()
Indicates if the service is used to assist users with disabilities.
| Returns | |
|---|---|
| boolean | trueif the property is set to true. | 
loadDescription
public String loadDescription (PackageManager packageManager)
The localized description of the accessibility service.
    Statically set from
    meta-data.
 
| Parameters | |
|---|---|
| packageManager | PackageManager | 
| Returns | |
|---|---|
| String | The localized description. | 
loadIntro
public CharSequence loadIntro (PackageManager packageManager)
The localized intro of the accessibility service.
    Statically set from
    meta-data.
 
| Parameters | |
|---|---|
| packageManager | PackageManager: This value cannot benull. | 
| Returns | |
|---|---|
| CharSequence | The localized intro if available, and nullif a intro
 has not been provided. | 
loadSummary
public CharSequence loadSummary (PackageManager packageManager)
The localized summary of the accessibility service.
Statically set from meta-data.
| Parameters | |
|---|---|
| packageManager | PackageManager | 
| Returns | |
|---|---|
| CharSequence | The localized summary if available, and nullif a summary has not been
     provided. | 
setInteractiveUiTimeoutMillis
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
     AccessibilityService.setServiceInfo(AccessibilityServiceInfo).
 
| Parameters | |
|---|---|
| timeout | int: The timeout in milliseconds.
 Value is 0 or greater | 
setMotionEventSources
public void setMotionEventSources (int motionEventSources)
Sets the bit mask of InputDevice sources that the accessibility
 service wants to listen to for generic MotionEvents.
 
 Including an InputDevice source that does not send
 MotionEvents is effectively a no-op for that source, since you will
 not receive any events from that source.
 
 See InputDevice for complete source definitions.
 Many input devices send InputEvents from more than one type of source so
 you may need to include multiple MotionEvent sources here, in addition
 to using AccessibilityService.onKeyEvent to listen to KeyEvents.
 
 Note: 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.
 
| Parameters | |
|---|---|
| motionEventSources | int: A bit mask ofInputDevicesources.
 Value is either0or a combination ofInputDevice.SOURCE_MOUSE,InputDevice.SOURCE_STYLUS,InputDevice.SOURCE_BLUETOOTH_STYLUS,InputDevice.SOURCE_TRACKBALL,InputDevice.SOURCE_MOUSE_RELATIVE,InputDevice.SOURCE_TOUCHPAD,InputDevice.SOURCE_TOUCH_NAVIGATION,InputDevice.SOURCE_ROTARY_ENCODER,InputDevice.SOURCE_JOYSTICK,InputDevice.SOURCE_SENSOR, andInputDevice.SOURCE_TOUCHSCREEN | 
setNonInteractiveUiTimeoutMillis
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
     AccessibilityService.setServiceInfo(AccessibilityServiceInfo).
 
| Parameters | |
|---|---|
| timeout | int: The timeout in milliseconds.
 Value is 0 or greater | 
toString
public String toString ()
Returns a string representation of the object.
| Returns | |
|---|---|
| String | a string representation of the object. | 
writeToParcel
public void writeToParcel (Parcel parcel, int flagz)
Flatten this object in to a Parcel.
| Parameters | |
|---|---|
| parcel | Parcel: The Parcel in which the object should be written.
 This value cannot benull. | 
| flagz | int: Additional flags about how the object should be written.
 May be 0 orParcelable.PARCELABLE_WRITE_RETURN_VALUE.
 Value is either0or a combination ofParcelable.PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES | 
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
