简体   繁体   English

用于 TalkBack 的广播接收器

[英]BroadcastReceiver for TalkBack

I know I can query the AccesibilityManager to determine if TalkBack has been enabled.我知道我可以查询AccesibilityManager以确定是否已启用TalkBack Is there a way to detect when TalkBack is enabled using a broadcast receiver?有没有办法使用广播接收器检测何时启用 TalkBack? I would prefer this solution as it can be enabled at anytime.我更喜欢这个解决方案,因为它可以随时启用。

You can try to set an AccessibilityStateChangeListener which will trigger a callback when the ... state of accessibility changes.您可以尝试设置一个AccessibilityStateChangeListener ,它会在 ... 可访问性状态更改时触发回调。

The docs say this is triggered when the AccessibilityManager#isEnabled() state changes, but I believe that will return true if there is at least one accessibility service enabled (meaning if you have two services enabled and turn TalkBack off, it'll still say accessibility is enabled).文档说这是在AccessibilityManager#isEnabled()状态更改时触发的,但我相信如果启用了至少一项辅助功能服务,它将返回 true(意味着如果您启用了两项服务并关闭 TalkBack,它仍然会说可访问性已启用)。

TalkBack is a single implementation of spoken feedback accessibility services on Android - even if it did broadcast an intent, I wouldn't rely on it solely, but as you say, check the state onStart/onResume() . TalkBack 是 Android 上语音反馈无障碍服务的单一实现 - 即使它确实广播了一个意图,我也不会仅仅依赖它,但正如你所说,检查状态onStart/onResume()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM