Configurar botones físicos en Android

En este rápido tutorial vamos a aprender a interceptar los eventos de usar los botones físicos de nuestro dispositivo android. 

Para interceptar estos eventos y personalizarlos a nuestro antojo, haremos uso de la siguiente clase:
KeyEvent, la cual mantiene un registro de los posibles botones que pueden haber en un dispositivo Android. Estos son:
  • Boton de Encendido – KEYCODE_POWER
  • Botón de Retorno – KEYCODE_BACK
  • Botón de Menu – KEYCODE_MENU
  • Botón de Hogar -  KEYCODE_HOME
  • Botón de Búsqueda – KEYCODE_SEARCH
  • Botón de Cámara – KEYCODE_CAMERA
  • Botón de Volumen – KEYCODE_VOLUMEN_UP, KEYCODE_VOLUMEN_DOWN
  • DPAD – KEYCODE_DPAD_CENTER, KEYCODE_DPAD_UP, KEYCODE_DPAD_DOWN, KEYCODE_DPAD_LEFT, KEYCODE_DPAD_RIGHT
  • Teclado Numérico – KEYCODE_0, KEYCODE_1, KEYCODE_2, … , KEYCODE_9 , KEYCODE_A, … , KEYCODE_Z
  • Botón de medios – KEYCODE_HEADSETHOOK
  1. Para evitar que se inicien las aplicaciones por defecto del sistema, por ejemplo la cámara cuando presionamos el botón del obturador, hacemos que la llamada al método onKeyDown(), devuelva un valor true, lo cual indica que nuestra aplicación consumió el evento. A modo de ejemplo en nuestro código, el botón de bajar volumen, lo baja, porque no estamos devolviendo el valor true, lo cual no sucede con el botón de subir volumen.
  1. Los botones de Home y de Encendido son interceptados directamente por el sistema, por lo que su personalización no puede ser hecha a través de nuestra aplicación
  1. Los botones de Home, Back, Menu, y Búsqueda no deberían ser implementados en el método onKeyDown(), sino en el método onKeyUp(), porque estos botones podrían no ser físicos en otros dispositivos
  1. En la medida de lo posible, el botón de Back no debería ser personalizado, sin embargo, si por algún motivo esto debería ser así, existe un método exclusivo para sobrescribir a partir de la versión Eclair (level 5), onBackPressed().
El sistema envía primero el Evento del botón presionado, al método que pueda devolver la llamada. Estos métodos pueden ser sobrescritos para que poder personalizar nuestra aplicación.

1 comentario:

Anónimo dijo...

como puedo entrar desde android estudio para manipular los botones fiscos de volumen o encendido