为什么Accessibility服务不响应所有nexus设备上的onKeyEvent?

时间:2016-09-06 14:54:20

标签: android accessibilityservice

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

  1. 我添加了 flagRequestFilterKeyEvents 标志。
  2. 同时设置 android:canRequestFilterKeyEvents =" true"
  3. 该服务正在除nexus设备之外的其他设备中响应。 我无法理解,为什么它没有在nexus手机中做出回应。

    请与我分享您的知识。

1 个答案:

答案 0 :(得分:1)

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

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

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