Как я могу восстановить активность из Foreground Service Xamarin? - PullRequest
0 голосов
/ 17 октября 2019

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

Я работаю с MvvmCrossXamarin.Android, на самом деле, я могу запустить службу Foreground, и она никогда не останавливается, пока я не решу. Если я закрою приложение, служба продолжит работу, но когда я снова открою приложение, пользовательский интерфейс будет сброшен, как при первом открытии, например, при создании нового экземпляра.

Я сделал счетчик в моем тесте.Core проекта, чтобы проверить его, я ожидал бы, что каждый раз, когда я снова открываю приложение, счетчик будет иметь то же значение, что и запущенный сервис, но на самом деле это не происходит, реальный результат заключается в том, что каждый раз, когда я снова открываю приложение, оносоздает новый счетчик и запускает новый сервис. Пользовательский интерфейс показывает только последнее действие, которое вы выполняете.

Как я могу снова открыть приложение и восстановить службу переднего плана? Как я могу снова связать сервис и пользовательский интерфейс, как это делают Карты Google?

...