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

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

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

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

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

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

1 Ответ

0 голосов
/ 17 мая 2019

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

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

...