我正在做一个项目,该项目需要我在连接发生变化时进行一些上传。我正在使用 Xamarin 编写一个 android 和 iOS 应用程序。我知道在 iOS 中使用后台任务有很大的限制。同样在 iOS 中,与 android 不同,没有办法订阅接收器,例如connectivitychanged。
所以我正在寻找一种不滥用不同 API 的解决方法。我不介意每 n 分钟执行一次计划任务,但我不确定这是否可能。
到目前为止我做了什么:
- 尝试使用后台提取,似乎非常不规则,无法预测何时触发任务。
- 后台传输任务,但找不到定期在后台运行此任务的方法。
- 使用后台位置检查位置何时发生变化,然后检查连接性,如果是,则进行一些上传。但是我认为这是在滥用 API,并且不会通过应用商店。
人们是否遇到过任何变通方法。我不介意尝试将 iOS 代码转换为 xamarin/c#。
谢谢。
Best Answer-推荐答案 strong>
您可能已经解决了这个问题,但这是我所做的(Xamarin 表单)...
我只是用了: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/
|