如何检查耳机当前是否已插入。我不希望广播接收器在连接到设备时通知我。我需要这样的东西:
if(/*headphone is connected*/)
...
如何检查耳机当前是否已插入。我不希望广播接收器在连接到设备时通知我。我需要这样的东西:
if(/*headphone is connected*/)
...
看起来你会对它感兴趣 isWiredHeadsetOn()
方法 和 isBluetoothA2dpOn()
方法 的 AudioManager
类。
但是,那 isWiredHeadsetOn()
方法仅适用于Android 2.0或更高版本。 (该 isBluetoothA2dpOn()
方法自Android 1.5开始提供。)
看起来你会对它感兴趣 isWiredHeadsetOn()
方法 和 isBluetoothA2dpOn()
方法 的 AudioManager
类。
但是,那 isWiredHeadsetOn()
方法仅适用于Android 2.0或更高版本。 (该 isBluetoothA2dpOn()
方法自Android 1.5开始提供。)
使用此代码段
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()+"");
这似乎至少在1.6上完成了这项工作;不确定它是否在以后的版本中得到支持(a是AudioManager的一个实例)
boolean headphones = (a.getRouting(a.getMode()) & AudioManager.ROUTE_HEADSET) == AudioManager.ROUTE_HEADSET;