如何检测是否有麦克风插入我的设备? 另外,如果从设备中拔出麦克风,如何收到通知?
我似乎无法在Android文档中看到如何执行此操作,无论是在我的谷歌搜索中。
谢谢!
答案 0 :(得分:1)
您可以创建一个监听BroadcastReceiver
的{{1}},如果min sdk为21,建议使用另一个常量Intent.ACTION_HEADSET_PLUG
。
当您注册接收器时,您将收到“粘性”AudioManager.ACTION_HEADSET_PLUG
,然后在插入/拔出麦克风时收到其他人。 Intent
非常简单,无法找到“状态”和“麦克风”键的文档,只需使用调试器查看它们即可。所以课程看起来像:
BroadcastReceiver
然后你只需要注册(和取消注册)
class MicrophonePluggedInReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
if (intent.action == Intent.ACTION_HEADSET_PLUG) {
val state = intent.getIntExtra("state", 0)
val microphone = intent.getIntExtra("microphone", 0)
val isMicrophonePluggedIn = state == 1 && microphone == 1
Toast.makeText(context, "microphone plugged in $isMicrophonePluggedIn", Toast.LENGTH_LONG).show()
}
}
}