Android 响应组合键

boolean aIsDown = false;
boolean qIsDown = false;
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
    // TODO Auto-generated method stub
    // 判断普通按键
    int keyCode = event.getKeyCode();
    if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN
            && event.getAction() == KeyEvent.ACTION_DOWN) {
        aIsDown = true;
    } else if (keyCode == KeyEvent.KEYCODE_VOLUME_UP
            && event.getAction() == KeyEvent.ACTION_DOWN) {
        qIsDown = true;
    }else if((keyCode == KeyEvent.KEYCODE_VOLUME_UP && !aIsDown)||(keyCode == KeyEvent.KEYCODE_VOLUME_DOWN && !qIsDown)){
        aIsDown = false;
        qIsDown = false;
    }else if (aIsDown
            && qIsDown
            && (keyCode == KeyEvent.KEYCODE_VOLUME_UP || keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)
            && event.getAction() == KeyEvent.ACTION_UP) {
        Toast.makeText(ActivityLogin.this, "Q + A", Toast.LENGTH_SHORT).show();
        aIsDown = false;
        qIsDown = false;
    }else{
        aIsDown = false;
        qIsDown = false;
    }
    return super.dispatchKeyEvent(event);
}

猜你喜欢

转载自blog.csdn.net/cnicfhnui/article/details/52413734