一、针对物理按键
1、电源键和HOME键是由系统截获,不初级应用程序自定义
2、对于back,menu应该拦截Keyup(????)
3、在onKeyDown函数中通过keyCode处理想处理的事件,返回true,则应用程序将事件消耗掉,如果返回false则会让系统再调用对应的方法(如拦截了音量的上下键消息,在上键中先用Toast输出返回true,在下键中先用Toast输出返回false,之后运行程序会发现按下上键后只有Toast打印的消息,系统音量不会增加,按下下键在打印消息的同时音量会下降)
eg、模仿按两次back退出程序
需要一个成员Bool变量 isExit=false;
首先是捕获keyDown消息
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
switch (keyCode) {
case KeyEvent.KEYCODE_CAMERA:
Toast.makeText(this, "Pressed Camera Butto", Toast.LENGTH_SHORT).show();