A month ago, Google started warning developers about a coming crackdown on apps that use the Android accessibility APIs for things other than accessibility. For years, the accessibility APIs have been a way for power-user apps to hook into the operating system, but Google apparently had a change of heart last month, telling developers they had 30 days to explain how an app using the Accessibility APIs was helping a user with disabilities or face removal from the Play Store.
After a public outcry, Google sent out another email to developers, saying it is now “pausing” this decision for another 30 days while it considers “responsible and innovative uses of accessibility services.” Google hasn’t made a decision one way or the other yet, but for now it is asking that developers who use the Accessibility APIs for non-accessibility purposes add “an accompanying disclosure to describe the app functionality that the Accessibility Service permission is enabling for your app.”
Google is also asking that developers send the company feedback, ending the email with: “If you believe your app uses the Accessibility API for a responsible, innovative purpose that isn’t related to accessibility, please respond to this email and tell us more about how your app benefits users. This kind of feedback may be helpful to us as we complete our evaluation of accessibility services.”
Many of Android’s most popular apps make use of the Android accessibility APIs’ unique set of features. The popular automation app Tasker uses the Accessibility API to monitor which apps are being launched so it can perform an action when you open a certain app. The password manager Lastpass used the APIs to fill in password fields. Battery-watchdog apps like Greenify use the API to shut down other apps when they use too much power. These are all powerful features, but it’s worth mentioning that the accessibility permissions require users to dig through the settings and manually enable them for each app.
Google has slowly been trying to build proper APIs for some of these accessibility hacks. A “Usage access” API can allow apps to see what other apps you’re opening and might work for something like Tasker. Android 8.0 Oreo has an autofill API that would work well for a password manager. Android’s fragmented ecosystem means adding APIs to new versions of Android isn’t really a solution, though. Only 0.3 percent of users have access to that Oreo autofill API.
Here’s hoping Google leaves the power user apps alone. The accessibility APIs have been open to anyone since their introduction in Android 2.0 eight years ago, and we’ve somehow managed to survive.