我正在捕获 VOLUME_UP 和 VOLUME_DOWN 键以分别增加减少我的应用程序中的值。我使用以下代码:
@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) {
// Do something to increase a value
}
return true;
case KeyEvent.KEYCODE_VOLUME_DOWN:
if (action == KeyEvent.ACTION_DOWN) {
// Do something to decrease a value
}
return true;
default:
return super.dispatchKeyEvent(event);
}
}
这在大多数设备上都可以正常工作,但是,我们的一位用户报告说,在 Acer Iconia 7" 平板电脑上,按钮有相反的效果?!即音量增大会减小值,而音量减小会增大它。应用程序固定为纵向,所以没有方向变化。什么可能导致这种效果?我如何在没有实际设备的情况下进行测试?我可以为此设备以通用(首选)或特定方式解决这个问题吗?
感谢您分享您的想法,
干杯,
约翰