Android 2.1 Detectar audio Bluetooth conectar / desconectar
Estoy rascándome la cabeza tratando de encontrar una forma de detectar auriculares bluetooth conectar y desconectar eventos para Android 2.1. Veo en el nivel 11 de la API que hay algunos explícitos, pero ¿cómo lo hago en el nivel 7 de la API? Sólo quiero saber cuándo el usuario conecta o desconecta un auricular o estéreo de coche capaz de reproducir audio, para que pueda detener los sonidos que estoy reproduciendo.
- Lista de reproducción de Youtube mostrada en ListView
- AudioFlinger no pudo crear track, status: -22
- Cómo reproducir video de YouTube en mi aplicación de Android?
- Control de enfoque en un ListView
- Reproducción de audio hacia atrás
- ¿Cómo comprobar si el archivo es compatible con videoview android por código?
- El archivo Dex superó los 64 KB después de agregar Google Play Services.
- Android Studio Rendering error con material interactivo
- RTSP Stream en VideoView en Aplicación para Android
- Ejemplo de streaming de vídeo de Android
- Cómo reproducir un archivo de vídeo en android?
- Cómo reproducir video de YouTube en mi aplicación de Android?
- Gesto del usuario necesario para iniciar la reproducción en el reproductor HTML5 de Android
No hay APIs públicas, Esta respuesta podría ayudar donde el autor usó APIs privadas usando reflexiones.
El autor también ha publicado un comentario sobre cómo lo hizo funcionar.
Esto parece una buena opción para detectar la conexión / desconexión del bluetooth.
Si eso no funcionó, otra buena opción es establecer un temporizador en un servicio que llama AudioManager.isBluetoothA2dpOn()
para comprobar si el bluetooth está conectado o desconectado.
No estoy seguro de si esto funciona en 2.1, pero funciona en 2.2 y 2.3.
Captura los cambios de estado de la conexión Bluetooth-Headset:
Declare el siguiente intento-filtro
<intent-filter > <action android:name="android.bluetooth.headset.action.AUDIO_STATE_CHANGED" /> </intent-filter>
Y en su Receptor en onReceive cheque por:
if ("android.bluetooth.headset.action.AUDIO_STATE_CHANGED".equals(intent.getAction())) { headsetAudioState = intent.getIntExtra("android.bluetooth.headset.extra.AUDIO_STATE", -2); }
Y guardar el int como una variable estática. Acceda siempre que quiera saber si el audio BT está conectado (1) / desconectado (0). No es bonito, pero hace el trabajo.
También compruebe hacia fuera: https://github.com/android/platform_frameworks_base/blob/gingerbread/core/java/android/bluetooth/BluetoothHeadset.java
Tienes que configurar un BroadcastReceiver
para la acción android.bluetooth.headset.action.STATE_CHANGED
. El extra de la Intención android.bluetooth.headset.extra.STATE
contiene el estado actual (desconectado, conectado, conectado). Más información sobre el código fuente de Android
- ¿Cómo se comprueba si ya se ha cerrado una instancia de reino?
- Cómo agregar un logotipo al código QR en android