使用android捕获按键

如何使用android SDK捕获手机按键? 我一直在寻找几个小时而没有find任何东西..

例如:

在某些情况下,我想在用户按下电话上的“挂断”按钮时捕获消息,然后在消息到达操作系统之前丢弃该消息。

这可能吗?

您可以处理视图中的关键事件,也可以处理整个应用程序的关键事件:

从视图处理onKey:

public boolean onKey(View v, int keyCode, KeyEvent event) { switch (keyCode) { case KeyEvent.KEYCODE_ENTER: /* This is a sample for handling the Enter button */ return true; } return false; } 

记得实现OnKeyListener并设置你的监听器YourView.setOnKeyListener(this);

第二种可能性是:

 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { switch (keyCode) { case KeyEvent.KEYCODE_MENU: /* Sample for handling the Menu button globally */ return true; } return false; } 

您还可以查看onKeyUp

资源: http : //developer.android.com/reference/android/view/View.html

在这里,您可以看到包含所有KeyEvent的列表