В моем приложении мне нужны, в основном, две задачи, выполняемые в фоновом режиме.Один - синхронизировать некоторые данные с php-сервером, периодически отправляя значения и обновляя локальную базу данных ответом, а второй - загружать файлы, запрошенные основным потоком с сервера, уведомляя пользовательский интерфейс о завершении загрузки.
Я только хочу делать эти вещи, пока приложение находится на переднем плане.И если пользователи откроют другое приложение, завершат текущие транзакции и прекратят потреблять ресурсы.
На данный момент я немного растерялся о том, как реализовать это.Я никогда не использовал Службы, и я действительно не знаю, является ли служба допустимым решением, потому что служба используется, когда вы хотите, чтобы ваш код продолжал работать, когда приложение переходит в фоновый режим.
Другое решение, которое я думалэто реализовать какой-то обработчик, который периодически (например, 20 минут) запускает поток для синхронизации с сервером.Запуск потока также при запросе загрузки и отправка трансляции в конце.
А как насчет этого решения?Является действительным?Если да, как я могу определить, когда приложение (не действие) перестает работать на переднем плане, чтобы отменить сообщения обработчика?
Заранее спасибо