Прослушивание событий клавиш увеличения и уменьшения громкости имеет обратный эффект на планшете Acer Iconia 7 дюймов

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

Спасибо за то, что поделились своими мыслями,

Ваше здоровье,

Йохан


person Johan Pelgrim    schedule 11.07.2012    source источник


Ответы (1)


Я подозреваю, что он считает естественную ориентацию устройства портретной и не компенсирует изменения ориентации (что делают некоторые другие устройства).

Когда вы держите устройство в портретной ориентации, нижняя кнопка отправляет уменьшение громкости?

Когда вы поворачиваете устройство в альбомную ориентацию, та же кнопка по-прежнему отправляет уменьшение громкости, хотя интуитивно должно быть увеличение громкости?

Я заметил такое поведение на другом 7-дюймовом планшете Acer и сообщил об этом как об ошибке (или, по крайней мере, о запросе функции).

person Sparky    schedule 11.07.2012