У меня возникли проблемы с использованием метода scanBleDevices при передаче ему (действительного) UUID - подписка никогда не сработает. В настоящее время у меня есть рабочий прототип, использующий обычные для Android методы сканирования, подключения, чтения/записи, но я хочу обновить синтаксис RxAndroidBle, чтобы сделать его более безопасным и удобным для чтения.
Вот моя реализация RxAndroidBle - не работает / подписка никогда не срабатывает:
Вы можете подумать, что мой UUID неверен, но вот некоторая альтернативная реализация, которую я сделал, используя предыдущую версию с очень большим состоянием - тот же uuid, это работает:
mLeScanCallback будет запущен.
Я использую RxAndroidBle версии 1.2.2, а мой телефон — Nexus 6P Android версии 6.0.1.
Некоторая дополнительная информация: если я использую scanBleDevices(), без параметров, я могу найти желаемый rxBleScanResult, проверив что-то в данных производителя, что я все равно буду делать. Но я хотел бы также отфильтровать UUID, чтобы быть в безопасности. Когда я нашел нужные байты пакета [], я попытался извлечь свой UUID, используя (устаревший) new UUIDUtil().extractUUIDs(rxBleScanResult.getScanRecord())
, но это вернуло пустой список. И просто чтобы еще больше зафиксировать ситуацию, когда я использую старомодный mLeScanCallback, приведенный выше экстрактUUIDS также приводит к пустому списку.
Спасибо за ваше время!