Entradas

Mostrando las entradas de septiembre, 2016

Trabajando con Bluetooth Low Energy (BLE) en Android

Imagen
Actualmente estoy desarrollando un app que requiere la comunicación con dispositivos bluetooth low energy. Todo parecía muy sencillo, pero la verdad es que hay que escribir mucho código para hacer que funcione servicios, broadcast receivers, binding a servicios, entre otros.

Mientras voy desarrollando tengo en mi gradle el minSDK de mi teléfono (Nexus 6p - SDK 24) esto con el simple hecho de compilar mas rápido.  La aplicación se espera que trabaje desde Android 4.3 SDK18 que fue cuando se introdujo BLE en Android.

Todo iba muy bien hasta que cambié el gradle a minSDK 18.. encontré que todo mi código estaba hecho para SDK21 donde hay métodos nuevos para escanear BLE devices.

Para ser mas concreto cambian los callBacks a partir del SDK 21. Lo resolví de la siguiente manera

Primero nos creamos dos métodos: scanLeDevice21 y scanLeDevice18.

/** * Scan for BLE devices with Android API 21 and up * * @param enable Enabled scanning */ @RequiresApi(21) priva…