Я разместил на странице проблем github для response-native-ble-manager # 596 мою проблему. Кто-нибудь еще сталкивался с этой проблемой? В основном я собрал достаточно данных, чтобы знать, что объекты BluetoothGatt ограничены, и я достигаю этого предела. Проблема в том, что я не вижу в коде библиотеки ничего, что могло бы вызвать эту проблему. Объект gatt вызывает close()
и при отключении получает значение null
.
Итак, вот подробности: при подключении к 4 устройствам (связанным) каждое устройство настроено на уведомление по 2 характеристикам. Иногда устройства отключаются, но не часто; приложение работает (в отладочной сборке) в течение 5-10 часов, затем я получаю сообщение bt_btif : Register with GATT stack failed.
, и на этом сбор данных заканчивается.
Я просмотрел код библиотеки android, но не вижу ничего, что «удерживает» ссылки на BluetoothGatt, кроме ссылки на периферийный объект, и только одна из них создается для каждого периферийного UUID от менеджера класса. Я потратил много времени на эту проблему, чтобы не иметь решения. HMOWKYMOH
Дальнейшие мысли:
Нужно ли вручную отключать характеристики уведомлений, когда устройство отключается, или базовый объект обрабатывает это?
Может ли частое сканирование, когда дискотека nnet происходит, вызвать проблемы? Я сканирую каждые ~ 6 секунд, когда я не подключен ко всем ожидаемым устройствам.