Flutter — как запустить наше приложение в фоновом режиме, в то время как другое приложение занимает передний план?

#flutter

#трепетание

Вопрос:

Можно ли запустить мое приложение в фоновом режиме, в то время как другое приложение занимает передний план? Может ли приложение по-прежнему извлекать данные из API и выходить на передний план, если условие выполнено?

Например,
сначала я открываю свое приложение -> Вход в систему -> Что-то сделать -> затем я могу нажать кнопку «Домой» или «Назад», чтобы отправить приложение в фоновый режим, чтобы я мог запустить Google Map на переднем плане, но мое приложение по-прежнему извлекает данные из API -> Если данные совпадают с при этом условии приложение может выйти на передний план и показать какое-нибудь сообщение.

Большое вам спасибо.

Ответ №1:

На Android эта функция поддерживается с помощью сервисов. В вашем случае вы можете запустить новую службу на стороне Flutter, вызвав собственный метод на стороне Android. Для этого объявите общий MethodChannel (у Flutter есть отличная документация, подробнее читайте здесь) на Flutter и Android и работайте с этим каналом для передачи данных и методов вызова между кросс- и нативными платформами. Также вы можете запускать службу как другой процесс (это полезно, когда вам нужно что-то сделать, когда пользователь закрыл ваше приложение). Как использовать сервисы для Android, описанные в официальной документации и в этом руководстве.

iOS не поддерживает это, потому что имеет ограничения для фоновой работы.

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

1. Большое вам спасибо. Вы действительно спасли меня. Не могли бы вы привести мне несколько примеров кода для этого метода?