如何检查耳机当前是否已插入。我不希望广播接收器在连接到设备时通知我。我需要这样的东西:
if(/*headphone is connected*/)
...
答案 0 :(得分:14)
您似乎对isWiredHeadsetOn()
method的isBluetoothA2dpOn()
method和AudioManager
class感兴趣。
但是,isWiredHeadsetOn()
方法仅适用于Android 2.0或更高版本。 (自Android 1.5起,isBluetoothA2dpOn()
方法已经可用。)
答案 1 :(得分:2)
使用此代码段
AudioManager am1 = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
Log.i("am1.isWiredHeadsetOn()", am1.isWiredHeadsetOn()+"");
Log.i("am1.isMusicActive()", am1.isMusicActive()+"");
Log.i("am1.isSpeakerphoneOn()", am1.isSpeakerphoneOn()+"");
答案 2 :(得分:0)
这似乎至少在1.6上完成了这项工作;不确定它是否支持更高版本(a是AudioManager的实例)
boolean headphones = (a.getRouting(a.getMode()) & AudioManager.ROUTE_HEADSET) == AudioManager.ROUTE_HEADSET;