我正在开发一个使用 TalkBack 来指导人们完成它的应用程序。然而,在那些情况下,我希望应用程序的布局有一些细微的差别,以便导航更容易,并且还有额外的语音输出(使用 TextToSpeech)来帮助指导用户。
我的问题是,如果用户激活了 TalkBack,我只需要这些更改和额外的输出。
有什么办法可以知道它是不是?我没有找到任何特定于直接访问 TalkBack 设置的东西,但我希望有某种形式的访问一般电话设置可以让我知道我需要什么。
提前致以问候和感谢。
原文由 David Carvalho 发布,翻译遵循 CC BY-SA 4.0 许可协议
例如,查看 Eyes-Free shell 应用程序(通过 组线程)中的 HomeLauncher.java 文件中的
isScreenReaderActive()
。总结一下:您使用 Intents 检测所有屏幕阅读器,然后查询每个屏幕阅读器的状态提供程序以查看它是否处于活动状态。
如果您真的只想将其限制为 TalkBack,您可以尝试检查
ResolveInfo.serviceInfo.packageName
对于从queryIntentServices()
返回的每个结果,看看它是否与 TalkBack 包匹配。