我需要创建一个在后台运行的服务,并检测是否正在使用电话扬声器。我需要听一个电话“扬声器事件”(开或关)并执行一个动作取决于扬声器的状态。
答案 0 :(得分:0)
您可以使用BroadcastReceiver
操作注册AudioManager.RINGER_MODE_CHANGED
,当声音配置文件发生变化时,该操作将被触发。在onReceiver()
内,您可以调用AudioManager
的{{1}}方法,该方法将返回getRingerMode()
,RINGER_MODE_NORMAL
或RINGER_MODE_SILENT
。希望这会有所帮助。