使用Xamarin.Forms进行背景调用

时间:2015-10-16 08:19:59

标签: c# wcf xamarin xamarin.forms backgrounding

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

2 个答案:

答案 0 :(得分:5)

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

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

类似的帖子(我从这里复制了我的答案):Xamarin.forms long running background work

答案 1 :(得分:4)

你和Xamarin一样,就像你在Objective-C或Java应用程序中那样做。您使用相同的API注册后台服务。

还有关于它的文档for iOSfor Android

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

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