不同的安卓设备拥有的硬按键可能有很大差别,全键盘手机的按键就特别多,请问,在按一个硬按键的时候系统肯定是发送了一个消息,我想在就是想捕获这个消息,然后来知道它按的那个键。怎么获得?
------解决方案--------------------
- Java code
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { Log.i("Utopia", "按下了back键"); } return super.onKeyDown(keyCode, event); }
------解决方案--------------------
系统底层发现有硬键按下会把信息发到目标窗口
像HOME之类的键一般是被phonemanager消费掉的,一般不会传到onkeydown里面
你可以对照着/system/usr/keylayout/qwerty.kl里的信息查看/dev/input/event*里面的信息
不过这个可能需要权限
希望对你有用