使用AudioManager设置音频路由,并通过判断是否连接有线耳机来决定是否开启扬声器。
示例代码:
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION); //设置音频模式为通信模式 if (audioManager.isWiredHeadsetOn()) { //判断是否连接有线耳机 audioManager.setSpeakerphoneOn(false); //关闭扬声器 audioManager.setWiredHeadsetOn(true); //开启有线耳机模式 } else { audioManager.setSpeakerphoneOn(true); //打开扬声器 audioManager.setWiredHeadsetOn(false); //关闭有线耳机模式 }