Android фоновое сканирование маяка BLE - PullRequest
0 голосов
/ 05 августа 2020

Я хочу создать приложение android с фоновым сканированием маяка BLE (например, Eddystone или ibeacon). Все, что мне нужно, это обнаружение маяка с указанным c ID на моем телефоне. Мне не нужно расстояние между устройствами.

  1. Есть ли какой-нибудь маяк с возможностью отправлять сигналы через 3 стены в здании (или 1 наводнение вверх / вниз) в области с радиус около 30 м?

  2. Может ли мое приложение сканировать в фоновом режиме каждые несколько секунд в течение всего дня? (или, очевидно, когда Bluetooth включен ...) блютуз включен). Мое решение иногда работает даже 7 часов, но когда я перезагружаю телефон, приложение не перезапускается. Мне нужен полный фоновый запуск, а не служба переднего плана с уведомлением.

    Спасибо!

1 Ответ

2 голосов
/ 05 августа 2020

Две точки:

  1. Все форматы маяков Bluetooth используют один и тот же механизм передачи радиосигнала. Мощность радио ограничена международными регулирующими органами, что делает передатчики слабыми. 1 aws физики решает, насколько хорошо они будут перемещаться между этажами здания, что будет зависеть от строительных материалов, но результаты обычно будут плохими. Опять же, это будет одинаково для всех форматов маяков.

  2. Android 8+ ограничивает обнаружение BLE в фоновом режиме без службы переднего плана. Вы можете выполнять не более одного сканирования каждые 10-25 минут (это случайный выбор), когда телефон не находится в режиме глубокого сна. единственная альтернатива - это служба переднего плана с постоянно присутствующим уведомлением. существуют и придумывают творческие решения, которые работают в рамках этих ограничений.

...