2011-11-04 18 views
7

Quiero comenzar un servicio, cuando un dispositivo bluetooth específico está conectado y detener este servicio cuando se desconecta. Obviamente, no quiero tener un servicio en segundo plano que siempre esté comprobando si un dispositivo BT está conectado, por lo que quiero lograrlo con un receptor.¿Transmitir si un dispositivo bluetooth se está conectando/desconectando?

¿Esto es realmente posible? android.bluetooth.device.action.ACL_CONNECTED se menciona here, pero aparentemente no funcionó.

Gracias!

Respuesta

17
<intent-filter> 
    <action android:name="android.bluetooth.device.action.ACL_CONNECTED" /> 
    <action android:name="android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED" /> 
    <action android:name="android.bluetooth.device.action.ACL_DISCONNECTED" /> 
</intent-filter> 

Estos son los filtros que debe agregar a su receptor de emisión.

ACL_CONNECTED señales cuando Bluetooth está conectado y ACL_DISCONNECTED señales Bluetooth desconexión

Para dispositivo específico que tiene que comprobar las intenciones/contexto en el receptor de radiodifusión

Los dos permisos que hay que añadir son:

<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> 
<uses-permission android:name="android.permission.BLUETOOTH" /> 

Creo que esto debería resolver su problema.

+0

Eso funcionó, gracias! Pensé que ACL_CONNECTED sería solo para dispositivos de audio ^^ – Force

+0

Bienvenido, amigo –

+0

¡Por si alguien está usando este código, ACL_DISCONNECT_REQUESTED y ACL_DISCONNECTED no se invocan si el usuario apaga el Bluetooth! – Force

Cuestiones relacionadas