我有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/