Android: Enabled services
还没有人认领这个 Issue。
- 主要语言
- C++
- 星标
- 127k
- 派生
- 25.3k
- 平均合并
- 1 天 23 小时
- 30 天内合并 PR
- 4
描述
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)
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
从 issue 中链接的 React Native AccessibilityInfo API 和 Android 的 AccessibilityManager.getEnabledAccessibilityServiceList 方法入手。确定应如何通过 API 暴露已启用的服务,然后验证调用方能够获取完整列表,并且行为与相关的无障碍 issue 一致。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- android, react-native
- 领域
- accessibility, mobile
- Issue 类型
- 功能
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 55/100