Я попытаюсь поставить вас в контекст. Я собираюсь использовать Google Maps в качестве примера. Когда вы указываете маршрут, по которому вы хотите следовать, в MAP, это дает вам возможность запустить маршрут (запустить Foreground Service). После запуска запускается push-уведомление с плавающим окном (Android 8.0 или выше). Вы можете закрыть свое действие или приложение, и служба Foreground продолжит работу, и когда вы попытаетесь открыть приложение, оно покажет вам макет, как будто вы никогда его не закрывали.
Я работаю с MvvmCrossXamarin.Android, на самом деле, я могу запустить службу Foreground, и она никогда не останавливается, пока я не решу. Если я закрою приложение, служба продолжит работу, но когда я снова открою приложение, пользовательский интерфейс будет сброшен, как при первом открытии, например, при создании нового экземпляра.
Я сделал счетчик в моем тесте.Core проекта, чтобы проверить его, я ожидал бы, что каждый раз, когда я снова открываю приложение, счетчик будет иметь то же значение, что и запущенный сервис, но на самом деле это не происходит, реальный результат заключается в том, что каждый раз, когда я снова открываю приложение, оносоздает новый счетчик и запускает новый сервис. Пользовательский интерфейс показывает только последнее действие, которое вы выполняете.
Как я могу снова открыть приложение и восстановить службу переднего плана? Как я могу снова связать сервис и пользовательский интерфейс, как это делают Карты Google?