连接发生变化时的Xamarin后台任务

时间:2014-10-30 09:02:14

标签: ios iphone background xamarin background-task

我正在开发一个项目,要求我在连接发生变化时进行一些上传。我正在使用Xamarin编写一个Android和iOS应用程序。我知道在iOS中使用后台任务有很多限制。同样在iOS中,与android不同,订阅诸如connectivitychanged之类的接收器是没有办法的。

因此,我在不滥用不同的API的情况下寻找解决方法。我不会每隔n分钟就完成一项计划任务,但我不确定这是否可行。

到目前为止我做了什么:

  • 尝试使用后台获取,似乎非常不规则,无法预测任务何时被解雇。
  • 后台转移任务,但无法定期找到在后台运行此方法的方法。
  • 使用后台位置检查位置何时更改,然后检查连接情况,如果是,请进行一些上传。但是,我认为这是滥用API,并不会超过应用程序商店。

是否有人遇到过任何工作。我不介意尝试将iOS代码转换为xamarin / c#。

感谢。

1 个答案:

答案 0 :(得分:1)

你可能已经解决了这个问题,但这就是我所做的(Xamarin Forms)...

我只是使用:http://www.nuget.org/packages/Xam.Plugin.Connectivity 将其安装在我的Common和Platform特定项目中

在我的Application.cs中,在我设置MainPage之后,我使用了

Connectivity.Plugin.CrossConnectivity.Current.ConnectivityChanged += async (sender, args) => 
{
if (args.IsConnected)
            {
               ...
               ...
            }
... 
}