Tema: [ CONSULTA ] Como hago esta app?
Ver Mensaje Individual
  #2  
Viejo 11/03/18, 12:06:41
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
Respuesta corta: Parece que una app no puede saber cuándo aprietas una tecla y cuándo la sueltas porque es un evento de muy bajo nivel que lo gestiona el sistema operativo directamente. Modificando el framework de Android o si el dispositivo tiene root entonces sí habría mecanismos.

Respuesta larga:
Buena pregunta, parece que hay que escarvar bastante en el API de Android porque los eventos de bajo nivel del tipo tecla pulsada y tecla soltada están en el WindowManager, pero a partir de ahí se filtran y ya no vuelves a verlos, así que no es trivial hacer una app que detecte que una tecla está siendo pulsada. De hecho, diría que es imposible salvo que te metas a modificar la ROM del dispositivo o, si es root, accedas al registro de eventos por otro lado para interceptar las pulsaciones.

El problema está en que parece que el último lugar donde Android expone esos eventos de bajo nivel es en el WindowManagerPolicy que intercepta los eventos del teclado con el método interceptKeyBeforeQueueing. Pero eso no puedes tocarlo en una app normal ya que es una implementación del sistema. Entonces tienes que modificar la implementación del framework de Android... que eso igual para un demostrador te vale si puedes modificar la ROM del sistema, pero desde luego para una app que quieras publicar en la Play Store y que la use cualquiera en su móvil no puedes evidentemente.

Última edición por mocelet Día 11/03/18 a las 17:30:21
Responder Con Cita
Gracias de parte de: