我已经实现了Activity.dispatchKeyEvent
的覆盖,以便捕获我想要处理的某些按键,然后将它们发送到Activity
中的任何视图,特别是实现常见的键盘快捷键动作。签名如下所示:
public boolean dispatchKeyEvent(KeyEvent event)
麻烦的是,我的metaState
中没有收到任何KeyEvent
,因此我不知道是否正在应用shift键,alt键,Ctrl键或任何其他修饰符钥匙。这种情况对我来说没有意义,但这就是正在发生的事情,我不明白为什么。如何阅读dispatchKeyEvent
中收到的密钥的修饰符状态?
答案 0 :(得分:0)
好的,发现我的错误。我试图用模拟器做这件事。当我使用带有物理键盘的真实设备时,它的工作方式完全符合预期。经验教训!