【问题标题】:Xamarin background task when connectivity changes连接更改时的 Xamarin 后台任务
【发布时间】:2014-12-26 05:52:51
【问题描述】:

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

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

到目前为止我做了什么:

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

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

谢谢。

【问题讨论】:

    标签: ios iphone background xamarin background-task


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 这如何解决后台问题?仅当应用程序在前台时才会调用它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多