things - bluetooth low energy android studio tutorial
mBluetoothGatt.getService(uuid) devuelve null (3)
Intente hacer un descubrimiento completo [1] de la base de datos remota y luego itere a través de los servicios. Tal vez tengas mal el UUID.
[1] http://developer.android.com/reference/android/bluetooth/BluetoothGatt.html#discoverServices ()
En mi aplicación, estoy transfiriendo el número UUID del servicio de audífonos como en la muestra BLE de google, es decir, 0000a00-0000-1000-8000-00805f9b34fb
Pero el servicio getservice devuelve null significa que el servicio no es compatible con BluetoothGatt. ¿Por qué está pasando esto? ¿Alguien puede ayudarme?
Primero debe descubrir todos los servicios para el dispositivo determinado por documentación.
Esta función requiere que el descubrimiento del servicio se haya completado para el dispositivo dado. http://developer.android.com/reference/android/bluetooth/BluetoothGatt.html#getService(java.util USID)
@Override
// New services discovered
public void onServicesDiscovered(BluetoothGatt gatt, int status) {
if (status == BluetoothGatt.GATT_SUCCESS) {
BluetoothGattService mBluetoothGattService = mBluetoothGatt.getService(UUID.fromString(serviceUUID));
if (mBluetoothGattService != null) {
Log.i(TAG, "Service characteristic UUID found: " + mBluetoothGattService.getUuid().toString());
} else {
Log.i(TAG, "Service characteristic not found for UUID: " + serviceUUID);
}
}
O simplemente puede ejecutar una búsqueda
for (BluetoothGattService gattService : gattServices) {
Log.i(TAG, "Service UUID Found: " + gattService.getUuid().toString());
}
Tu UUID también está equivocado. Debe ser 0000a00X-0000-1000-8000-00805f9b34fb, no 0000a00-0000-1000-8000-00805f9b34fb