Il n'existe pas de solution définitive à votre problème, mais je peux vous faire part de mes réflexions à ce sujet.
De documentation :
Si votre application est exécutée en arrière-plan sur un appareil fonctionnant sous Android 9... elle ne peut pas accéder au microphone.
De plus, depuis Android 9, vous pouvez forcer une application à utiliser le microphone (et d'autres opérations). uniquement en premier plan :
~$ appops set com.discord RECORD_AUDIO foreground
Ces deux conditions ne sont applicables que si l'application n'exécute pas un service de premier plan, c'est-à-dire si elle n'affiche pas de notification persistante.
Dans le cas d'une ancienne version d'Android ou si l'application exécute un service en avant-plan, vous pouvez essayer d'utiliser certaines fonctionnalités de l'application. automatisation applications à révoquer RECORD_AUDIO
l'autorisation et/ou l'opération dès que l'écran est verrouillé :
~$ pm revoke org.lineageos.recorder android.permission.RECORD_AUDIO
~$ appops set com.discord RECORD_AUDIO ignore
Et faire l'inverse lorsque l'écran est déverrouillé.
Cependant, le cadre Android tue/redémarre généralement l'application/le service lorsqu'une permission est révoquée. Ou l'application peut continuer à utiliser l'état précédent de la permission à moins qu'elle ne soit redémarrée manuellement. Cette approche n'est donc pas fiable mais peut fonctionner pour certaines applications dans certaines circonstances.
Par exemple, pour arrêter les applications lors du verrouillage de l'écran, ou pour désactiver automatiquement le microphone après un certain temps.
Stock Android ne fournit pas une telle fonction pour désactiver automatiquement ou désactiver le micro depuis l'écran de verrouillage, bien qu'un développeur de ROM personnalisée ou un OEM puisse fournir par exemple une tuile "Turn Mic Off". Certaines ROMs ajoutent le bouton "Kill app" à la notification (sur pression longue). Mais cela peut nécessiter de déverrouiller l'écran. Encore une fois, vous pouvez automatiser pour tuer l'application lors du verrouillage de l'écran. Mais certaines applications peuvent également démarrer un service sur des événements de diffusion.