Як обробляти натискання hardware-кнопок на java в android - Мої IT-нотатки

Додаємо цей сніпет в нашу activity і наш додаток для android зможе обробляти натискання hardware-кнопок так як ми того забажаємо. У цьому прикладі використовується обробник для натискання кнопки “дзвінка” (KeyEvent.KEYCODE_HEADSETHOOK) на handsfree гарнітурі.

Якщо ви не знаєте коду кнопки для якої хочете написати обробник – перевизначте функцію onKeyDown таким чином, щоб вона виводила код натиснутої кнопки і завжди повертала false:

  • Bettie on December 3, 2011 на 12:53 pm
  • #
  • Reply

З основами loaded you struck us out with that asnewr!

  • Sapfil on December 26, 2013 на 7:30 pm
  • #
  • Reply

Майже не сподіваюся, що хтось відповість у топіці дворічної давності, але все ж таки…

Пробував отримувати коди клавіш на Samsung Galaxy Ace. "Меню" або "назад" обробляється нормально, видається їхній код. А ось центральна (не сенсорна кнопка) ніяк не обробляється. І її натискання не перехоплюється. Я б хотів її обробити, тому що якщо цього не зробити, то після її натискання моя гра ставиться на паузу і залишається висіти в пам'яті і їсти батарейку.

  • admin on December 27, 2013 на 7:32 pm Author
  • #
  • Reply

А якщо мінімальну аплікуху запустити, яка тільки код кнопок виводить – те саме? Виглядає ніби якась стороння активіті натискання ковтає. У логаті подій щодо натискань відображаються?