我有一个非常有趣的问题。
我的印象是,当我的应用程序使用麦克风时,Android系统进程(如传入或传出呼叫)需要麦克风,我的应用程序会毫不考虑地发布它。
但我想这不再是问题,因为我收到的抱怨很少,当使用该应用程序并且有来电时,通话中的另一方听不到。
有没有办法确保系统进程何时请求释放麦克风?
答案 0 :(得分:5)
目前,无法检查其他应用是否请求麦克风。但是,有一些解决方法:
onPause()
中释放麦克风,以便前台应用可以使用它。如果您在后台服务中录制音频,则无效。答案 1 :(得分:0)
据我所知,没有办法知道麦克风的状态是忙碌的,可用的还是如果有人请求,因为它是某种方式的责任系统管理流程和资源,所以记住这一点,你不能永远保持麦克风,所以你无法控制它意味着你无法管理和检测资源请求。以下是一些可能有帮助的信息你。
您可以尝试的是,克服所有可能性,当系统可以使用麦克风设置广播接收器进行呼叫广播时以及当他们触发释放麦克风时,当呼叫完成后,您可以再次获取它。
答案 2 :(得分:0)
在我的情况下,我创建了后台线程,用于检查来自麦克风的传入位。如果它们为零(或数秒滞后),应用程序会中断该过程。然而,当然,这不是一个“好”的解决方案,但可能会有所帮助。