В настоящее время я планирую приложение Xamarin.Forms, и при этом я натолкнулся на точку, на которую, похоже, нет ответа.
Приложению придется работать со службой WCF, чтобы получить свои данные, а также сообщить службе определенные задачи. Пока приложение активно, сделать это очень просто. Но приложение должно кое-что сделать. Звоните в Сервис каждые x минут, чтобы обновлять данные и в некоторых случаях создавать уведомления для пользователя. Я читал кое-что о фоновом режиме в iOS или службах в Android, но, похоже, у приложения Xamarin.Forms нет общего способа выполнения фоновой работы. Итак, как я могу получить доступ к службе WCF и обработать данные, пока приложение неактивно в Xamarin.Forms?
Фон с Xamarin.Forms
Ответы (2)
Это единственное решение, которое я нашел: https://robgibbens.com/backgrounding-with-xamarin-forms/
В двух словах: вы не можете абстрагироваться от фоновых задач в Xamarin.Forms, потому что iOS, Android и WP работают по-другому. Вы должны использовать MessagingCenter для отправки и получения данных от конкретных реализаций на каждой платформе.
Аналогичная ветка (я скопировал свой ответ отсюда): Xamarin.forms long работает в фоновом режиме
Вы делаете это в Xamarin так же, как в приложениях Objective-C или Java. Вы используете тот же API для регистрации фоновой службы.
Об этом также есть документы для iOS и для Android.
Xamarin использует тот же собственный API в каждой системе, как и любое другое собственное приложение. Таким образом, все, что вы хотите делать с Xamarin, можно сделать так же, как если бы вы использовали оригинальные инструменты поставщиков. Единственное отличие - это язык программирования.
Xamarin.Forms здесь совершенно неуместен. Это уровень абстракции для собственных фреймворков пользовательского интерфейса, который позволяет разработчикам определять пользовательский интерфейс один раз и запускать действительно собственный пользовательский интерфейс в приложениях Android, iOS, Windows Phone и Windows Store. Здесь нет ничего общего с фоном.