Ответ 1
Похоже, вас будет интересовать метод isWiredHeadsetOn()
и isBluetoothA2dpOn()
в AudioManager
class.
Однако метод isWiredHeadsetOn()
доступен только в Android 2.0 или новее. (Метод isBluetoothA2dpOn()
доступен с Android 1.5.)
Как я могу проверить, подключены ли в настоящее время наушники. Мне не нужен передатчик, который информирует меня, когда они подключены к устройству. Мне нужно что-то вроде:
if(/*headphone is connected*/)
...
Похоже, вас будет интересовать метод isWiredHeadsetOn()
и isBluetoothA2dpOn()
в AudioManager
class.
Однако метод 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;