在Android应用中检测alt按键

时间:2010-09-01 17:24:32

标签: android

我想在我的Android应用中创建键盘快捷键,例如alt-t运行某个命令。我似乎无法弄清楚如何在模拟器中检测alt修饰符的存在。

我在我的应用中覆盖了onKeyDown(),看起来如下(Scala):

  override def onKeyDown(keycode:Int, event:KeyEvent) =  keycode match {
    case KeyEvent.KEYCODE_B =>
      StatisticsService.map(_.sayBatteryLevel())
      true
    case KeyEvent.KEYCODE_D =>
      StatisticsService.map(_.sayDate())
      true
    case KeyEvent.KEYCODE_S =>
      StatisticsService.map(_.saySignalStrengths())
      true
    case KeyEvent.KEYCODE_T =>
      StatisticsService.map(_.sayTime())
      true
    case _ => super.onKeyDown(keycode, event)
  }

那当然匹配普通键很好,但不是alt-b,alt-t等。如何更改上面的内容以匹配给定的alt-modified绑定?

我搜索了Google并尝试过使用event.isAltPressed,但这不起作用。我还记录了按键的结果,并注意到alt键根本没有被拾取。也就是说,只需按alt就不会做任何事情,按alt-t会产生相同的日志,只有t。

如果有所不同,这将在模拟器中进行测试。

编辑:不知道如何回应我的问题留下的评论,但我知道并非所有设备都有alt键,但这不是问题,因为我正在为自定义设备编码。问题不是“最通用的方法是什么”,而是“当记录的方法不起作用时,我如何匹配alt键绑定,而且谷歌自己的文档似乎没有给出解释?”

感谢。

0 个答案:

没有答案