mBluetoothGatt.getServices() возвращает неправильные UUID
В настоящее время разрабатывается приложение для Android, которое можно подключить с помощью специального сервиса. Сканирование работает правильно, но теперь я не могу прочитать характеристики из службы. Я использую доску разработки PSoC. Сделал пользовательский сервис с несколькими характеристиками и отлажен с помощью программы CySmart, все работает.
@Override
public void onServicesDiscovered(BluetoothGatt gatt, int status){
if (status == BluetoothGatt.GATT_SUCCESS)
{
List<BluetoothGattService> gattServices = mBluetoothGatt.getServices();
Log.e("onServicesDiscovered", "Services count: "+gattServices.size());
for (BluetoothGattService gattService : gattServices) {
String serviceUUID = gattService.getUuid().toString();
Log.e("onServicesDiscovered", "Service uuid "+serviceUUID);
}
BluetoothGattService gattService = mBluetoothGatt.getService(UUID.fromString(ServiceUUID));
if (gattService == null)
{
Log.i("BLEtest", "gattservice null");
return; // return if the service is not supported
}
Characteristic1 = gattService.getCharacteristic(UUID.fromString(Char1UUID));
Characteristic2 = gattService.getCharacteristic(UUID.fromString(Char2UUID));
}
broadcastUpdate(ACTION_SERVICES_DISCOVERED);
}
Теперь в приложении android при обнаружении служб после подключения к серверу GATT mBluetoothGatt.getServices() возвращает null при попытке обнаружить службы с UUID, которые я реализовал в настраиваемой службе. После того, как это произошло, я добавил часть кода, которая возвращает все обнаруженные сервисы, не используя никакого UUID. Результат - 3 UUID, которые не совпадают с теми, которые я реализовал.
02-18 02:33:29.366 19755-19767/jafs.app E/onServicesDiscovered: Services count: 3
02-18 02:33:29.366 19755-19767/jafs.app E/onServicesDiscovered: Service uuid 00001800-0000-1000-8000-00805f9b34fb
02-18 02:33:29.367 19755-19767/jafs.app E/onServicesDiscovered: Service uuid 00001801-0000-1000-8000-00805f9b34fb
02-18 02:33:29.367 19755-19767/jafs.app E/onServicesDiscovered: Service uuid 88117a52-cce5-40de-a40c-1984a342ea00
02-18 02:33:29.367 19755-19767/jafs.app I/BLEtest: gattservice null
UUID, которые находятся на пользовательском сервисе, который я реализовал, отличаются. Уже сгенерированы разные UUID в пользовательском сервисе, но он все равно возвращает те же. Я думаю, что первые 2 UUID изначально были по умолчанию при создании пользовательского сервиса BLE, но в итоге я изменился. Почему-то третий не похож на другие.
Любая помощь ценна!