Android: Enabled services
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 127k
- Forks
- 25.3k
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 4
Description
Description
Similar to issue #30864 and heavily intertwined with #30863, it is sometimes useful to query what accessibility services a user has currently enabled. This would allow your to tailor your app's UI to the specific service. For example, if a user has the "Talkback" screen reader service enabled, you probably don't want videos to auto-play, as the audio would be interruptive to the screen readers announcements, and if auto-played without audio the videos would be playing and taking bandwidth without the user likely realizing this was happening.
Right now, there is a method in the AccessibilityInfo API to detect talkback specifically (isScreenReaderEnabled), but there is not a general purpose method to get a list of all enabled services.
React Native version:
v0.63
Expected Behavior
The AccessibilityInfo API should have some general purpose method to get a list of all enabled services.
Android Details
This functionality is available in the AccessibilityManager class via the getEnabledAccessibilityServiceList method.
https://developer.android.com/reference/android/view/accessibility/AccessibilityManager#getEnabledAccessibilityServiceList(int)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the React Native AccessibilityInfo API and the Android AccessibilityManager.getEnabledAccessibilityServiceList method linked in the issue. Determine how enabled services should be exposed through the API, then verify that callers can retrieve the complete list and that the behavior is consistent with the related accessibility issues.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, react-native
- Domain
- accessibility, mobile
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100