2

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

所以我正在寻找一种不滥用不同 API 的解决方法。我不介意每 n 分钟执行一次计划任务,但我不确定这是否可能。

到目前为止我所做的:

  • 尝试使用后台获取,似乎非常不规则,无法预测何时会触发任务。
  • 后台传输任务,但找不到定期在后台运行此任务的方法。
  • 使用后台位置检查位置何时更改,然后检查连接性,如果是,则进行一些上传。但是我认为这是在滥用 API,并且不会通过应用商店。

人们是否遇到过任何变通方法。我不介意尝试将 iOS 代码转换为 xamarin/c#。

谢谢。

4

1 回答 1

1

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

我只是使用:http : //www.nuget.org/packages/Xam.Plugin.Connectivity 将它安装在我的通用和平台特定项目中

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

Connectivity.Plugin.CrossConnectivity.Current.ConnectivityChanged += async (sender, args) => 
{
if (args.IsConnected)
            {
               ...
               ...
            }
... 
}
于 2015-03-23T06:50:26.353 回答