Android: проверка подключения наушников
Как я могу проверить, подключены ли наушники в настоящее время. Я не хочу вещательный приемник, который сообщает мне, когда они были подключены к устройству. Мне нужно что-то вроде:
if(/*headphone is connected*/)
...
3 ответа
Решение
Используйте этот фрагмент кода
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; не уверен, поддерживается ли он в более поздних версиях (это экземпляр AudioManager)
boolean headphones = (a.getRouting(a.getMode()) & AudioManager.ROUTE_HEADSET) == AudioManager.ROUTE_HEADSET;