我有SmartMouse android应用程序的源代码。
我想用屏幕上的按钮改变音量键的功能。
我具有C编程的基本知识,但不了解Java。
我应该在代码中搜索哪一部分?

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

最佳答案

您必须捕获此处提到的事件: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在系统通过任何其他方法之前被调用,因此您可以拦截该事件

关于java - 在Android应用中更改音量键功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22909288/

10-10 00:23