ios - 连接更改时的 Xamarin 后台任务

标签 ios iphone background xamarin background-task

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

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

到目前为止我做了什么:

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

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

谢谢。

最佳答案

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

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

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

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

关于ios - 连接更改时的 Xamarin 后台任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26648777/

相关文章:

iphone - 将一个图像放在另一个图像之上

iphone - 基金会库 NSCFString 内存泄漏

iphone - 图标 iPhone 应用程序

css - 如何创建背景图像的静态网格

jquery - 视频背景没有占据整个 div 的宽度?

iOS从特定位置加载 View

iphone - tableview 开头的常量 tableviewcell

iphone - nstimer调光按钮

ios - 通过 Node.js 服务器后端连接两个 iOS 设备

android - 具有清晰背景的 DialogFragment(未变暗)