Antecedentes: Tengo un auricular bluetooth A2DP/AVRCP ( Nokia BH-505 ) que uso activamente para escuchar tanto podcasts como música. Por supuesto, los escucho con diferentes aplicaciones. El auricular bluetooth tiene algunos botones de "comando" (AVRCP), relevantes para el audio - en concreto: "pista siguiente", "pista anterior" y "reproducir/pausar"
Actualmente cada vez que pulso alguno de los comandos, uno de los reproductores de música que tengo instalados ( Meridian ) siempre recibe el comando - incluso cuando no está activo. Así, cuando hago clic en "reproducir/pausar" con la intención de pausar un podcast ( DoggCatcher ), en su lugar se activa Meridian y comienza a reproducir música junto con el podcast.
Ambos jugadores están preparados para utilizar el auricular: DoggCatcher tiene activado "Bind to headset" y Meridian tiene activado "Headset Buttons". Actualmente estoy usando Android 2.2.1 de stock sin root en GT-S5570, pero puede ser el rooting y la actualización a 2.3 CyanogenMod (o tal), en el futuro.
Ignorando los detalles, mi pregunta sobre esto es más general:
- ¿Cómo determina Android qué aplicación debe reaccionar a estos comandos? Me interesa incluso una respuesta muy técnica.
En el aspecto práctico me interesa:
- ¿Tengo que tocar la configuración de cada aplicación para determinar qué aplicación toma los comandos, o hay alguna forma general de determinar esto?
- ¿Hay alguna manera de configurar esto para que la aplicación que realmente activo ¿obtendría siempre automáticamente la prioridad? (como se preguntó en parte en otra pregunta )
En qué se diferencia esta pregunta de otras similares:
-
"Cómo configurar el comportamiento del botón 'Play' en el mando Bluetooth" - sólo práctico, diferente enfoque, hasta ahora no tiene respuestas, y también estoy interesado en las respuestas que requerirían el rooting o firmware personalizado (especialmente CyanogenMod).
-
Cambiar la aplicación por defecto para manejar los controles de los auriculares - un problema exacto que se solucionó, el pero no de una manera que responda a mis preguntas, aunque da algunas pistas sobre cómo funcionan las cosas.
-
¿Cómo puedo hacer que el botón de mis auriculares controle algo más que el reproductor de música de serie? - pregunta en parte similar en el lado práctico, pero no se centra en explicar cómo funciona realmente, y la única respuesta se centra en la parte que no estoy preguntando (hacer que sólo una aplicación reciba los comandos).
-
por qué todas las aplicaciones de sonido reciben eventos de botones bluetooth, todos a la vez - muy similar, pero preguntando por un problema concreto (que todos los reproductores multimedia reciban el comando AVRCP)
1 votos
Me las arreglé para encontrar algo de buena información relacionada con esto desde un blog de desarrolladores de Android - discutiendo la forma correcta en que este debe ser implementado por las aplicaciones en 2.2: "Permitir que las aplicaciones jueguen bien(r) entre sí: El manejo de los botones del mando a distancia"
0 votos
En 2016 esto sigue siendo un problema -.- Al pasar de iOS esta podría ser la parte más irritante de Android para mí hasta ahora :/
0 votos
¿Relacionado? Android.stackexchange.com/q/218823/693