Кто-нибудь знает, как лучше всего обнаружить объявления Bluetooth LE на устройстве Android? Мне нужно только получить значение UUID службы и значение RSSI из рекламного пакета, I не нужно подключать к устройству - если это имеет значение. Нужно ли мне использовать один из специфичных для вендора Bluetooth API, например, Broadcom для устройства, содержащего модуль Bluetooth Broadcom?Как обнаружить объявления Bluetooth LE на Android
ответ
Начиная с версии Android 4.2, пакет Broadcom был интегрирован в Android и будет работать из коробки. До этого вам нужно было запустить еще один стек, чтобы получить доступ к BLE, поскольку у Android Android не было API.
Я попытался использовать обычный метод startDiscovery() на моем Nexus 7 под управлением Android версии 4.2 и не обнаружил мои устройства BLE. Не могли бы вы предоставить несколько указателей и информацию о том, на каком устройстве вы его работали? Цените помощь. – CaseyG
Начиная с SDK 18 Android теперь имеет API для этого. Однако в моем тестировании они не работают должным образом на Nexus 4 с 4.3.
См документация здесь: http://developer.android.com/guide/topics/connectivity/bluetooth-le.html
Nexus 4 обеспечивает первую запись сканирования для каждого устройства, что является стандартной настройкой в iOS. Работа для Nexus 4 сейчас заключается в том, чтобы остановить и начать LE-сканирование после каждого пакета. BLE SDK для Android 4.3 работает хорошо для сканирования, но больше ничего;) См. Http://stackoverflow.com/questions/17870189/android-4-3-bluetooth-low-energy-unstable – OneWorld
Привет, вы выяснить, как получить услуги UUID от scanRecord рекламных packet.I я с помощью устройства IOS, как периферийные, который передают данные + услуги UUID.I хочет получить служебный UUID от обратного вызова обнаружения. – androidGuy
@androidGuy здесь вы можете найти ответ на свой первый вопрос: http://stackoverflow.com/questions/18019161/startlescan-with-128-bit-uuids-doesnt-work-on-native-android-ble-implementation –