Как сохранить приложение Flutter запущенным на экране блокировки / сна (геолокатор и конструктор таймеров)?

#flutter #timer #geolocation

#flutter #таймер #геолокация

Вопрос:

В моем приложении есть экран, который отслеживает местоположение ( geolocator ) и время с помощью ( timer_builder ), когда пользователь нажимает кнопку «Пуск». Когда экран блокируется / спит, он прекращает (или приостанавливает) отслеживание местоположения, но он должен приостанавливаться только тогда, когда пользователь нажимает кнопку остановки. Кто-нибудь может мне помочь в этом?

Я считаю, что есть разница между запуском приложения on background и on lock screen запуском приложения, потому что я только что нашел темы о запуске приложения в фоновом режиме с помощью android_alarm_manager / background_fetch (в этом случае пробуждение приложения в фоновом режиме примерно каждые 15 минут тоже не сработает). Одним из решений было бы предотвратить переход экрана в режим сна / блокировки, но тогда проблема с батареей. Любые другие решения?

Заранее спасибо!

Ответ №1:

Я думаю, что фоновая геолокация — сложная проблема. Однако есть проект flutter_background_geolocation. Он работает в режиме отладки. К сожалению, в режиме выпуска вам необходимо приобрести лицензию.

Комментарии:

1. но экран блокировки считается фоновым? Похоже flutter_background_geolocation , это сложнее того, что мне нужно (и я пытаюсь избежать этой лицензии на 300 долларов, ха-ха, на моей валюте это слишком много)

Ответ №2:

Вы можете создавать фоновые задачи с помощью Flutter, см. Эту статью. Никогда не пробовал.