2016-09-06 54 views
1

我创造与无障碍服务的应用程序,我想要做一些任务的时候后退按钮或home键是pressed.For为此我加入XML文件中的以下属性: -为什么Accessibility服务在所有nexus设备上都没有响应onKeyEvent?

  1. 我添加了flagRequestFilterKeyEvents标志。
  2. 也设置android:canRequestFilterKeyEvents =“true”

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

请与我分享你的知识。

回答

1

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

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

在Nexus设备上,背面和主页按钮实际上是屏幕软件按钮。因此,就像硬件和软件键盘之间的差异一样,这些事件不会以与按下物理后退按钮的设备相同的方式通过系统。