Кто-нибудь знает, как лучше всего обнаружить рекламу Bluetooth LE на устройстве Android? Мне нужно только получить UUID службы и значение RSSI из рекламного пакета, мне не нужно подключаться к устройству — если это имеет значение. Нужно ли мне использовать один из Bluetooth API конкретного поставщика, например Broadcom, для устройства, которое содержит Bluetooth-модуль Broadcom?
Как обнаружить рекламу Bluetooth LE на Android
comment
Привет, вы выяснили, как получить UUID службы из рекламного пакета scanRecord. Я использую устройство iOS в качестве периферийного устройства, которое передает данные + UUID службы. Я хочу получить UUID службы из обратного вызова обнаружения.
- person androidGuy   schedule 03.12.2013
comment
@androidGuy здесь вы можете найти ответ на свой первый вопрос: stackoverflow.com/questions/18019161/
- person Andrea Motto   schedule 20.03.2014
Ответы (2)
Начиная с Android версии 4.2 стек Broadcom был интегрирован в Android и будет работать сразу после установки. До этого вам нужно было запустить другой стек, чтобы предоставить доступ к BLE, так как у стандартного Android не было API.
person
TJD
schedule
22.03.2013
Я пробовал использовать обычный метод startDiscovery() на своем Nexus 7 под управлением Android версии 4.2, и он не обнаруживает мои устройства BLE. Не могли бы вы предоставить некоторые указатели и информацию о том, на каком устройстве у вас это работает? Цените помощь.
- person CaseyG; 23.03.2013
Начиная с SDK 18, у Android теперь есть API для этого. Однако в моем тестировании они не работают должным образом на Nexus 4 с 4.3.
См. документацию здесь: http://developer.android.com/guide/topics/connectivity/bluetooth-le.html
person
Nick Palmer
schedule
01.08.2013
Nexus 4 предоставляет только первую запись сканирования для каждого устройства, что, кстати, является стандартной настройкой iOS. Обходной путь для Nexus 4 прямо сейчас заключается в том, чтобы останавливать и запускать LE-сканирование после каждого пакета. BLE SDK для Android 4.3 хорошо работает для сканирования, но больше ничего;) См. stackoverflow.com/questions/17870189/
- person OneWorld; 08.08.2013