Я захватываю клавиши 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" кнопки имеют обратный эффект?! Т.е. увеличение громкости уменьшает значение, а уменьшение громкости увеличивает его. поэтому никаких изменений ориентации. Что может вызвать этот эффект? Как я могу проверить это, не имея под рукой фактического устройства? Можно ли обойти это общим (предпочтительным) или конкретным способом для этого устройства?
Спасибо за то, что поделились своими мыслями,
Ваше здоровье,
Йохан