ошибка аппаратной громкости + - кнопка на Samsung Galaxy Tab 10.1 (P7510), она не может вызвать событие onKeyDown, когда появляется системная полоса громкости

Мое приложение работает нормально на другом телефоне Android, но на Samsung Galaxy Tab 10.1 (P7510) с Android 3.1/3.2.

При первом нажатии аппаратной кнопки громкости +/громкости- хорошо срабатывает API onKeyDown с KeyEvent.KEYCODE_VOLUME_DOWN/KeyEvent.KEYCODE_VOLUME_UP (появляется системная полоса громкости). Но при повторном нажатии аппаратной кнопки громкости +/громкости onKeyDown() не будет запускаться до тех пор, пока системная полоса громкости не исчезнет.

Мне нужно что-то обрабатывать, когда пользователь нажимает громкость +/громкость- каждый раз, но не может захватить onKeyDown.....

Проблема возникает только на Samsung Galaxy Tab 10.1 (P7510) и Moto XOOM. Это проблема андроида 3.x?

Другие устройства под управлением Android 2.x или 4.x в порядке.

Спасибо.


person Archy    schedule 16.05.2012    source источник


Ответы (1)


Попробуйте переопределить метод dispatchKeyEvent вместо onKeyDown. Во всех случаях при обработке события возвращайте true. В остальных случаях возвращайте super.dispatchKeyEvent.

person peter.bartos    schedule 04.09.2012