在Android应用程序中更改音量键功能

时间:2014-04-07 10:04:34

标签: java android

我有SmartMouse安卓应用的源代码。 我想用屏幕按钮改变音量键的功能。 我有C语言编程的基础知识但不了解java。 我应该在代码中搜索哪一部分?

这可能是一个蹩脚的问题,但我非常需要这个。

1 个答案:

答案 0 :(得分:3)

你必须抓住这里提到的事件:Android - Volume Buttons used in my application

@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);
    }
}

dispatchKeyEvent不仅会调用音量键,还会捕获所有键事件,因此您必须:

  • 获取活动代码
  • 检查您是否正在寻找
  • 根据活动做你想做的事:)

关键是dispatchKeyEvent在系统执行任何其他方法之前被调用,因此您可以拦截事件