5

我目前正在计划一个 Xamarin.Forms 应用程序,这样做时我遇到了一个似乎没有答案的问题。
该应用程序必须使用 WCF 服务来获取其数据并告诉服务执行某些任务。当应用程序处于活动状态时,这样做很容易。但是应用程序必须做一些事情。在某些情况下,每 x 分钟调用一次服务以刷新数据并为用户创建通知。我已经阅读了有关 iOS 中的后台或 Android 中的服务的一些内容,但 Xamarin.Forms 应用程序似乎没有办法拥有一种通用的后台工作方式。那么,当应用在 Xamarin.Forms 中处于非活动状态时,如何访问 WCF 服务并处理数据?

4

2 回答 2

5

这是我找到的唯一解决方案:https ://robgibbens.com/backgrounding-with-xamarin-forms/

简而言之:您无法在 Xamarin.Forms 中抽象后台任务,因为 iOS、Android 和 WP 以不同的方式工作。您必须使用 MessagingCenter 来发送和接收来自每个平台中特定实现的数据。

一个类似的线程(我从这里复制了我的答案):Xamarin.forms long running background work

于 2015-12-18T08:52:53.550 回答
4

使用 Xamarin 执行此操作的方式与在 Objective-C 或 Java 应用程序中执行此操作的方式相同。您使用相同的 API 来注册后台服务。

iOSAndroid也有关于它的文档。

Xamarin 在每个系统上使用相同的本机 API,就像任何其他本机应用程序一样。因此,您想使用 Xamarin 执行的所有操作都可以像使用供应商的原始工具一样完成。唯一的区别是编程语言。

Xamarin.Forms 在这里完全无关紧要。它是原生 UI 框架的抽象层,使开发人员能够一次定义用户界面并在 Android、iOS、Windows Phone 和 Windows Store 应用程序上运行真正的原生 UI。它与这里的背景无关。

于 2015-10-16T08:47:13.293 回答