android - 为什么辅助功能服务不响应所有 Nexus 设备上的 onKeyEvent?

标签 android accessibilityservice

我正在创建一个带有辅助功能服务的应用,我想在按下后退按钮或主页按钮时执行一些任务。为此,我添加了以下属性在 xml 文件中:-

  1. 我添加了 flagRequestFilterKeyEvents 标志。
  2. 同时设置 android:canRequestFilterKeyEvents="true"

服务在除nexus 设备之外的其他设备中响应。 我无法理解,为什么它在 Nexus 手机中没有响应。

请与我分享你的知识。

最佳答案

后退按钮和主页按钮不是按键。这些操作可能会在某些平台上以这种方式实现(例如,后退按钮可以发送“转义”KeyEvent)。但是,这不是必需的。

在这种情况下,“KeyEvent”指的是硬件键盘(例如:蓝牙键盘)。注意:也可以实现软件键盘来发送这些事件,但它们不是必需的,也不应该依赖它。

在 Nexus 设备上,后退和主页按钮实际上是屏幕软件按钮。因此,就像硬件键盘和软件键盘之间的区别一样,这些事件不会像有物理后退按钮可供按下的设备那样通过系统传递。

关于android - 为什么辅助功能服务不响应所有 Nexus 设备上的 onKeyEvent?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39352073/

相关文章:

android - 使用圆形图像设计圆角布局

java - 如何自动添加gradle依赖

android - AccessibilityService 从 AlertDialog 更改 EditText

android - 屏幕关闭时的 AccessibilityService OnKeyEvent

android - 如果设备静音,是否通过无障碍服务获取通知?

android - 如何检测系统对话框中的所有 View 和文本?

java - 将嵌套数组转换为 JSON

java - 使用流遍历列表时如何获取元素索引?

java - Handler无法转换为View

android - 如何计算 X、Y 坐标来模拟屏幕上的触摸?