当用户在特定位置时,我使用后台地理定位来安排本地通知。
由于这些通知链接到一个商业运营,我有一个日期,存储在用户默认管理时,我应该禁用后台地理位置,当操作是其他。
我不希望用户必须启动应用程序才能禁用重大更改监视。
所以我试着直接在locationManager:didUpdateToLocation:fromLocation:中stopMonitoringSignificantLocationChanges这个CLLocationManager,但是它不能工作。
有什么建议吗?解决此问题的最佳实践是什么?
谢谢。
发布于 2012-12-21 01:09:11
考虑到后台应用程序或不运行的应用程序的规则,您在这里有点束手无策。
如果你想在没有任何用户交互的情况下禁用位置,这是你唯一的选择。
每次用户的位置从后台更新时,您的位置管理器代理都会收到此更新。你在这里没有太多的处理能力,所以保持简短,或者注册一个长期运行的后台任务,检查你的日期,如果你完成了定位,调用那里的停止监控呼叫,重置用户默认设置中的任何数据或标志,然后就完成了。
如果从本地通知触发,则用户需要单击打开按钮才能执行任何操作。你可以从你的后台位置委托方法发出通知。但这是你在没有用户交互的情况下实现自动化的唯一途径。你在那里做什么取决于你。检查位置更新并从后台委托方法中关闭它是没有问题的。
https://stackoverflow.com/questions/13881080
复制相似问题