когда маяк более полезен в приложении ble в Android? Каковы преимущества использования маяка, я знаю, что мы можем настроить скорость фонового сканирования. но с помощью обычного ble мы также можем изменить скорость фонового сканирования, используя SCAN_MODE_LOW_POWER и другие флаги. оба уменьшат период сканирования. кто-нибудь может объяснить это
В чем разница между маяком и обычным обнаружением ble в Android?
Ответы (1)
Маяки как специализированная версия устройства Bluetooth LE. Они разработаны как устройства только для передачи, которые просто отправляют уникальный идентификатор через регулярные промежутки времени, обычно с частотой 1–10 Гц. Маяки отправляют эти идентификаторы с помощью объявлений Bluetooth LE, функции, которая является относительно небольшим подмножеством спецификации Bluetooth 4.0.
Библиотеки Beacon для Android, такие как Android Beacon Library, ориентированы на конкретный вариант использования. обнаружения маяков Bluetooth LE, в отличие от выполнения операций Bluetooth LE более общего назначения. Библиотека маяков добавляет логику к встроенному сканированию Android BLE, включая:
- Анализ идентификаторов маяков из необработанных объявлений BLE на основе различных форматов маяков (Eddystone, AltBeacon, iBeacon и т. д.)
- API-интерфейсы, управляемые событиями, чтобы сообщать вам, когда определенный шаблон идентификатора маяка впервые отображается, а затем перестает отображаться.
- Регулярные обратные вызовы (например, один раз в секунду), сообщающие вам список видимых маяков.
- Оценки расстояния до маяков.
- Автоматическое переключение интервалов сканирования при переключении приложения с переднего плана на фон.
- Автоматическое пробуждение приложения при обнаружении маяков.
Хотя все вышеперечисленное можно сделать с помощью API-интерфейсов Bluetooth LE более низкого уровня в Android, вам придется написать много кода, чтобы создать эти функции самостоятельно. Использование библиотеки маяков позволяет вам сосредоточиться на бизнес-логике вашего приложения и оставить сложности, связанные с анализом и обнаружением маяков, кому-то другому.
Полное раскрытие: я ведущий разработчик проекта с открытым исходным кодом Android Beacon Library.