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()+"");
Utilice la API de conocimiento de Google
Es muy rico en proporcionar sentimientos contextuales.