No hay una solución definitiva para su problema, pero puedo compartir mis ideas al respecto.
Desde documentación :
Si tu aplicación se ejecuta en segundo plano en un dispositivo con Android 9... no puede acceder al micrófono
Además desde Android 9 puedes forzar a una app a usar el micrófono (y otras operaciones) sólo en primer plano :
~$ appops set com.discord RECORD_AUDIO foreground
Ambos casos son aplicables sólo si la aplicación no está ejecutando un servicio en primer plano, es decir, no muestra una notificación persistente.
En el caso de una versión antigua de Android o si la aplicación está ejecutando un servicio en primer plano, puedes intentar hacer uso de algún automatización aplicaciones para revocar RECORD_AUDIO
permiso y/o operación tan pronto como la pantalla se bloquea:
~$ pm revoke org.lineageos.recorder android.permission.RECORD_AUDIO
~$ appops set com.discord RECORD_AUDIO ignore
Y hacer lo inverso cuando la pantalla está desbloqueada.
Sin embargo, el framework de Android suele matar/reiniciar la aplicación/servicio cuando se revoca un permiso. O la aplicación puede continuar usando el estado anterior del permiso a menos que se reinicie manualmente. Así que el enfoque no es fiable, pero puede funcionar para algunas aplicaciones en determinadas circunstancias.
Por ejemplo, para detener las aplicaciones en la pantalla de bloqueo, o para auto-desactivar el micrófono después de algún tiempo.
Android de serie no ofrece ninguna función para autodesactivar o desactivar el micrófono desde la pantalla de bloqueo, aunque un desarrollador de ROMs personalizadas o un OEM puede ofrecer, por ejemplo, un mosaico de "Desactivar el micrófono". Algunas ROMs añaden el botón "Matar aplicación" a la notificación (con una pulsación larga). Pero eso puede requerir el desbloqueo de la pantalla. De nuevo, puedes automatizar la eliminación de la aplicación al bloquear la pantalla. Pero algunas aplicaciones también pueden iniciar un servicio en eventos de transmisión.
1 votos
Desde Android 9 las aplicaciones que se ejecutan en segundo plano (sin un servicio en primer plano / notificación persistente) no pueden acceder al micrófono: developer.Android.com/about/versions/pie/ . También puede establecer
RECORD_AUDIO
aforeground
utilizandoappops
.0 votos
Ya veo. Técnicamente no es de fondo ya que hay una notificación persistente y está grabando y reproduciendo audio. Mi pregunta es acerca de los medios existentes para detener algunas aplicaciones o el micrófono, mientras que en la pantalla de bloqueo.