Чтобы исправить это, обходной путь заключается в удалении фокуса вида перед нажатием любой клавиши DPAD.Это работает в моем случае.У меня точно такая же проблема: когда представление Android Activity находится в фокусе, самое первое ключевое событие DPAD, то есть событие KeyDown
, игнорируется: ни один из этих методов не вызывается: onUserInteraction()
, dispatchKeyEvent()
, onKeyDown()
.Однако последующие события клавиш DPAD - KeyUp
, KeyDown
, KeyUp
, ... могут быть зафиксированы.
Обратите внимание, что эта проблема не возникает с программными клавишами (Home, Previous, Recents)ни с клавишами жестких кнопок (BUTTON_A, BUTTON_B, BUTTON_X, BUTTON_Y).