Я хочу разработать приложение для Android, которое всегда слушает хорошую рекламу, полезную для маяков.Приложение имеет активность и фоновый сервис.Все операции BLE выполняются в сервисе, и этот сервис выполняет сообщение REST, когда находит конкретный mac:
... mBluetoothAdapter.startLeScan (this);...
public void onLeScan (конечное устройство BluetoothDevice, final int rssi, byte [] scanRecord) ...
Если я запускаю приложение и отключаю смартфон, экран выключается, ноприложение продолжает работать, потому что я вижу в журнале службы REST, что был звонок.Тем не менее, примерно через 3 часа приложение для Android перестает звонить в службу отдыха.
Так как для службы Android установлено приложение Sticky, приложение снова разглядывают и закрывают приложение.Через 3 секунды служба запускается, и я вижу, что остальные звонки завершены.Однако через 15 минут служба перестает вызывать сервер отдыха.
Вся логика находится внутри обратного вызова onLeScan ().Таким образом, я могу сделать вывод, что этот обратный вызов перестает быть вызванным, даже несмотря на то, что существует множество устройств BLE, которые постоянно рекламируют ...
Пожалуйста, какие-либо советы по этому поводу?
Большое спасибо