resetear reconoce pero mis los lado funcionan escuchan escucha encuentra detecta conectan con como celular auriculares auricular audifonos android audio headphones

android - reconoce - mis audifonos bluetooth no se escuchan de un lado



Compruebe si los auriculares están enchufados (4)

Parece que no puedo encontrar una manera de saber en Android si los auriculares están enchufados. Encontré varias soluciones, pero siempre parecen ser falsas. Lo único que parece funcionar correctamente es un BroadcastReceiver , pero eso no es lo que necesito:

Solo necesito algo como esto

if(headphones plugged in) { }

¿Existe tal función? ¿Requiere algún permiso especial?


AudioManager.isWiredHeadsetOn () está DEPRECATED . Entonces, necesitas usar el método AudioManager.getDevices() lugar:

private boolean isHeadphonesPlugged(){ AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE); AudioDeviceInfo[] audioDevices = audioManager.getDevices(AudioManager.GET_DEVICES_ALL); for(AudioDeviceInfo deviceInfo : audioDevices){ if(deviceInfo.getType()==AudioDeviceInfo.TYPE_WIRED_HEADPHONES || deviceInfo.getType()==AudioDeviceInfo.TYPE_WIRED_HEADSET){ return true; } } return false; }


Puede usar este código para verificar si el auricular está enchufado

AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE); audioManager.isWiredHeadsetOn();

(No se preocupe por la desaprobación, todavía se puede usar SOLO para verificar si el auricular está conectado).

Y necesitas <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

Disponible en Android 2.0 +


Usa este código ...

AudioManager am1 = (AudioManager)getSystemService(Context.AUDIO_SERVICE); Log.i("WiredHeadsetOn = ", am1.isWiredHeadsetOn()+""); Log.i("MusicActive = ", am1.isMusicActive()+""); Log.i("SpeakerphoneOn = ", am1.isSpeakerphoneOn()+"");