Documentos de Académico
Documentos de Profesional
Documentos de Cultura
BLUETOOTH
Temas avanzados de Android
Con las API de Bluetooth, una aplicación de Android puede realizar lo siguiente:
Conceptos básicos:
Para que los dispositivos compatibles con Bluetooth transmitan datos entre sí,
primero deben establecer un canal de comunicación mediante un proceso de
sincronización. Un dispositivo (el dispositivo detectable) se habilita para recibir
solicitudes de conexión entrantes. Otro dispositivo encuentra el dispositivo
detectable mediante un proceso de detección del servicio. Después de que el
dispositivo detectable acepta la solicitud de sincronización, los dos dispositivos
completan un proceso de conexión en el que se intercambian claves de
seguridad. Ambos dispositivos almacenan estas claves en caché para usarlas
posteriormente. Después de que terminan los procesos de sincronización y
conexión, los dispositivos intercambian información. Cuando se completa la
sesión, el dispositivo que inicializó la solicitud de sincronización libera el canal
que usó para la sincronización con el dispositivo detectable. Sin embargo,
siempre y cuando estén dentro del rango de alcance y ninguno elimine la
1
Temas avanzados de Android
Permisos de Bluetooth:
Para usar las funciones de Bluetooth en nuestra aplicación, debemos declarar
dos permisos. El primero es “BLUETOOTH”. Necesitamos este permiso para
establecer cualquier comunicación de Bluetooth, como solicitar o aceptar una
conexión y transferir datos.
2
Temas avanzados de Android
3
Temas avanzados de Android
Android 4.0 (nivel de API 14) presenta compatibilidad con el perfil de dispositivos
de salud (HDP, Health Device Profile) Bluetooth. Esto te permite crear
aplicaciones que usan Bluetooth para comunicarse con dispositivos de salud que
admiten Bluetooth, como monitores de frecuencia cardíaca, medidores de la
sangre, termómetros y balanzas. La API de salud de Bluetooth incluye las clases
“BluetoothHealth”, “BluetoothHealthCallback” y “BluetoothHealthAppConfiguration”.
4
Temas avanzados de Android
Registro:
2. Habilitar Bluetooth.
A continuación, debemos asegurarnos de que Bluetooth esté habilitado.
Llamamos al “isEnabled()” para verificar si Bluetooth se encuentra
actualmente habilitado. Si este método muestra “false”, Bluetooth no
estará habilitado. Para solicitar que Bluetooth esté habilitado, llamamos a
5
Temas avanzados de Android
6
Temas avanzados de Android
Buscar dispositivos:
Una vez que se establezca una conexión con un dispositivo remoto por primera
vez, se presentará automáticamente al usuario una solicitud de vinculación.
Cuando un dispositivo está vinculado, la información básica sobre este (como el
nombre, la clase y la dirección MAC) se guarda y se puede leer a través de las
API de Bluetooth. Usando la dirección MAC conocida de un dispositivo remoto,
se puede establecer una conexión con este en cualquier momento sin llevar a
cabo la detección, suponiendo que el dispositivo todavía se encuentre dentro del
rango.
Hay que tener en cuenta que existe una diferencia entre la vinculación y la
conexión:
Conectar dispositivos:
A fin de crear una conexión entre dos dispositivos, debemos implementar los
mecanismos del lado del servidor y del lado del cliente, porque un dispositivo
debe abrir un socket de servidor y el otro debe inicializar la conexión usando la
dirección MAC del dispositivo del servidor para inicializar la conexión. El
7
Temas avanzados de Android
8
Temas avanzados de Android
9
Temas avanzados de Android
10
Temas avanzados de Android
11
Temas avanzados de Android
BluetoothProfile.ServiceListener:
12