Сохранять (или отправлять) данные с устройства Bluetooth, когда приложение находится в фоновом режиме

Я разрабатываю приложение для Android, которое считывает данные с устройства Bluetooth и сохраняет их на диск (и, возможно, отправляет некоторые данные на сервер). Устройство Bluetooth является носимым с датчиком сердечного ритма и кучей других датчиков. Он отправляет данные в приложение Android каждую секунду или около того.

Приложение отлично работает, когда на переднем плане, но в фоновом режиме, оно убивается через несколько минут (обычно от 15 до 30 минут).

Я понимаю концепции переднего и фонового сервисов, и мне кажется, что мне нужен здесь сервис переднего плана (поправьте меня, если я ошибаюсь), чтобы убедиться, что процесс не будет убит. Однако это боль, потому что мне придется переместить большинство классов моего приложения в удаленные объекты в классы обслуживания переднего плана.

Тем не мение! Я заметил, что простое создание переднего плана и привязка к нему моей основной деятельности делает так, чтобы действие не убивалось так быстро, фактически я тестировал его в течение полутора часов, и все по-прежнему работало гладко в основном процессе деятельности.

Может ли это быть тем решением, которое я ищу? Или мне действительно нужно переместить большинство моих классов в удаленные объекты в более сложную службу переднего плана?

0 ответов

Хорошо, что вы реализовали это с помощью сервиса ForeGround.

Следующее, что вам нужно сделать, это создать BroadCastReceiver, который будет вызывать службу Foreground и вызывать BroadcastReceiver из метода OnDestroy() MainActivity.

Другие вопросы по тегам