Android provides accessibility features and services for helping users navigate their devices more easily. Android application developers can take advantage of these services to make their applications more accessible. Android developers can also build their own accessibility services, which can provide enhanced usability features such as audio prompting, physical feedback, and alternative navigation modes. Accessibility services can provide these enhancements for all applications, a set of applications or just a single app. Detailed information of Accessibility and how to create Accessibility services can be found at http://developer.android.com/guide/topics/ui/accessibility/index.html.
And there are some API changes in Android 5. Please check http://developer.android.com/sdk/api_diff/21/changes.html and http://developer.android.com/sdk/api_diff/21/changes/pkg_android.accessibilityservice.html
Starting with Android 5, customized accessibility services need to be enabled by end users before AccessibilityEvents are dispatched to these services. On previous Android versions, enabling them makes the detection more efficient, but it is not required.
In applications, explicitly prompt end users to enable the customized accessibility service at Settings -> Accessibility -> Services.
Keywords: Accessibility, Services, Usability