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

Why Accessibility service does not respond to onKeyEvent on all nexus devices?

我正在使用 A​​ccessibility Service 创建一个应用,我想在 后退按钮或主页按钮 为 pressed.For 为此,我在 xml 文件中添加了以下属性:-

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

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

请与我分享你的知识。

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

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

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