Я пишу приложение Xamarin Forms (C#), которое имеет пользовательский интерфейс, который получает данные от пользователя и передает их в фоновый поток / службу для отправки на сервер. Datafirst сохраняется в локальной базе данных для безопасного хранения. (Очистка будет позже)
Мне нужен сервис или что-то, что будет гарантировать доставку данных, даже если приложение свернуто или закрыто (смахивание с экрана). Я ищу что-то, что не существует?
Я попробовал IntentService, который, казалось, делал то, что я хотел, но остановился, если убил пользовательский интерфейс. Я попробовал настоящую службу, которая также остановилась, если я убил пользовательский интерфейс, но, возможно, я не настроил ее должным образом.
Кроме того, служба, кажется, работает в потоке пользовательского интерфейса. Что в этом хорошего? Я не могу заставить его работать как BackgroundWorker с помощью StartService внутри рабочего, поэтому я попытался запустить службу в обычном режиме и в StartCommandResult OnStartCommand, вызвав метод выборки / сохранения данных как Task или Thread. Он работает до тех пор, пока приложение остается активным. Я тоже посмотрел на AsyncTask, а также на AlarmManager.
Что мне не хватает ???