按下音量上下按钮按下并不返回任何内容

时间:2014-03-27 19:41:50

标签: java android

我想知道我是否能够禁用手机侧面的默认音量上下按键。

    @Override
public boolean dispatchKeyEvent(KeyEvent event) {
    Log.v("key pressed", String.valueOf(event.getKeyCode()));
    return false;
    //return super.dispatchKeyEvent(event);
}

我正在使用dispatchKeyEvent来查找用户何时按下音量增大或减小按钮但我无法阻止手机实际调高音量或将其调低。我想让用户在我的应用程序中激活方法,如果他们决定使用音量增大或减小按钮。当我的应用程序聚焦时,我能够阻止手机执行音量控制吗?

1 个答案:

答案 0 :(得分:3)

我在以前的项目中使用过这个...也许这就是你要找的东西:

@Override
public boolean dispatchKeyEvent(KeyEvent event) {
    int action = event.getAction();
    int keyCode = event.getKeyCode();

    switch (keyCode) {
    case KeyEvent.KEYCODE_VOLUME_UP:
        if (action == KeyEvent.ACTION_UP) {
            //TODO
        }
        return true;
    case KeyEvent.KEYCODE_VOLUME_DOWN:
        if (action == KeyEvent.ACTION_DOWN) {
            //TODO
        }
        return true;
    default:
        return super.dispatchKeyEvent(event);
    }
}

Android - Volume Buttons used in my application