【问题标题】:CLLocationManager disable monitoring significant changes in backgroundCLLocationManager 禁用监控后台重大变化
【发布时间】:2012-12-14 14:59:09
【问题描述】:

当用户位于特定位置时,我正在使用后台地理定位来安排本地通知。

由于这些通知链接到商业操作,我有一个日期,存储在用户默认值中以管理当我应该在其他操作时禁用后台地理定位。

我不希望用户必须启动应用程序才能禁用重大更改监控。

所以我尝试直接在locationManager:didUpdateToLocation:fromLocation:stopMonitoringSignificantLocationChanges CLLocationManager 但它没有接缝工作。

有什么建议吗?解决此问题的最佳做法是什么?

谢谢。

【问题讨论】:

    标签: iphone ios cllocationmanager


    【解决方案1】:

    考虑到后台应用程序或未运行的应用程序的规则,您的手在这方面有些束缚。

    如果您想在不与用户进行任何交互的情况下禁用位置,这是您唯一的选择。

    每次您的用户在后台更新位置信息时,您的位置管理员代表都会收到此更新。你在这里没有得到很多处理能力,所以保持简短和甜蜜或注册一个长时间运行的后台任务,检查你的日期,如果你完成了位置,在那里调用停止监控调用,重置任何数据或标志在你的用户默认值中,你就完成了。

    如果您从本地通知触发,用户将需要单击打开按钮来执行任何操作。您肯定可以从后台位置委托方法中触发通知。但这是您在没有用户交互的情况下自动化任何事情的唯一途径。你在那里做什么取决于你。检查位置更新并从后台委托方法将其关闭没有问题。

    【讨论】:

      猜你喜欢
      • 2012-06-11
      • 2012-03-22
      • 1970-01-01
      • 2015-04-18
      • 1970-01-01
      • 2021-11-01
      • 2013-07-04
      • 2018-08-04
      • 1970-01-01
      相关资源
      最近更新 更多