Как обнаружить рекламу Bluetooth LE на Android

Кто-нибудь знает, как лучше всего обнаружить рекламу Bluetooth LE на устройстве Android? Мне нужно только получить UUID службы и значение RSSI из рекламного пакета, мне не нужно подключаться к устройству — если это имеет значение. Нужно ли мне использовать один из Bluetooth API конкретного поставщика, например Broadcom, для устройства, которое содержит Bluetooth-модуль Broadcom?


person CaseyG    schedule 22.03.2013    source источник
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
comment
Я пробовал использовать обычный метод 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
comment
Nexus 4 предоставляет только первую запись сканирования для каждого устройства, что, кстати, является стандартной настройкой iOS. Обходной путь для Nexus 4 прямо сейчас заключается в том, чтобы останавливать и запускать LE-сканирование после каждого пакета. BLE SDK для Android 4.3 хорошо работает для сканирования, но больше ничего;) См. stackoverflow.com/questions/17870189/ - person OneWorld; 08.08.2013