Gracias a un nuevo permiso implementado en Android Oreo, las aplicaciones del sistema ahora pueden configurar oyentes para detectar pulsaciones prolongadas de las teclas de volumen.
Agregar funcionalidad adicional a varios botones de hardware y software de nuestros dispositivos es algo que los entusiastas de Android han estado haciendo durante un tiempo. La mayoría de la gente conoce aplicaciones como Mapeador de botones del desarrollador reconocido de XDA flar2, e incluso hablamos de otras soluciones de reasignación cuando Se lanzó el Galaxy S8. Si bien esas soluciones manejaron estas acciones de cierta manera, Google parece estar implementando un oyente en Android Oreo para mantener presionadas las teclas de volumen. Esto significa que, potencialmente, las aplicaciones en el futuro podrían reaccionar al presionar prolongadamente la tecla de volumen incluso mientras la pantalla está desactivado, lo que podría usarse para traer una característica solicitada con frecuencia desde las ROM personalizadas: control de pistas de música con tecla de volumen prensas.
Queremos mencionar que Esta característica en realidad no está habilitado en la versión orientada al usuario que tenemos disponible en este momento. Sin embargo, existe soporte para ello, como lo demuestra el compromiso que encontramos, y eso significa que el OEM puede habilitarlo para su dispositivo específico. Como se mencionó, las aplicaciones de reasignación tradicionales funcionan detectando si se ha enviado un KeyEvent (con pulsaciones prolongadas, estas aplicaciones miden el tiempo entre un evento de tecla hacia abajo y tecla hacia arriba, mientras que con pulsaciones dobles miden el tiempo entre pulsaciones hacia abajo), pero estos KeyEvents solo se envían mientras la pantalla está en. Además, normalmente también requieren el uso de un Servicio de Accesibilidad que puede resultar agotador para el rendimiento.
Su solución típica de reasignación de botones puede considerarse una solución alternativa que se puede utilizar para encender o apagar la antorcha, abrir una aplicación, desplegar el panel de notificaciones, etc. Sin embargo, lo que Google ha implementado en Android Oreo va un paso más allá al permitir que las propias aplicaciones del sistema configuren estos oyentes de pulsación prolongada del botón de volumen. Esto podría permitir al usuario activar algo dentro de la aplicación una vez que la plataforma detecta que se ha mantenido presionado un botón de volumen durante unos segundos.
De la forma en que Google ha incluido soporte para esto en Android Oreo, esto solo funcionará para aplicaciones "privilegiadas" (también conocidas como sistemas preinstalados) listas para usar. El OEM sólo necesita permitir que la aplicación privilegiada tenga la android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER
permiso para configurar al oyente. Sin embargo, hemos podido otorgar permisos como estos con comandos ADB, por lo que es posible que aquellos de nosotros que lo sabemos también podamos configurar esto manualmente para aplicaciones de terceros.