检查其他应用是否正在使用Android麦克风

时间:2012-08-18 13:23:43

标签: android audio audio-recording android-audiomanager

我想使用android麦克风检查噪音水平。然而,在访问麦克风之前,我想知道其他应用程序是否正在访问麦克风。如何检查其他应用程序是否正在访问麦克风?

2 个答案:

答案 0 :(得分:1)

有关活动输入流及其路由位置的信息由AudioFlingerAudioPolicyManagerAudioHardware实例保存,这些实例不与应用程序共享此信息。
AudioManager类为应用程序提供了isMicrophoneMute()方法,但麦克风在未使用时可以很好地取消静音,因此该方法并不能真正告诉您当前是否正在使用麦克风。

找出是否有任何输入流路由到麦克风的一种可能方法是在media.audio_policymedia.audio_flinger上执行dumps并解析输出。但风险在于输出在不同设备上看起来会有所不同,而且我不知道是否允许您在非根设备上转储这些服务的状态。

答案 1 :(得分:0)

我认为迈克尔是对的但我们不能在Android 2.3上使用dumpsys以及进一步使用某些服务