我需要在特定的时间跟踪用户在后台的位置。后台任务是否可以在下午7点至11点开始?背景位置
到目前为止,我一直能够实现这一目标的唯一方法是让后台任务持续运行,这似乎是一种不好的方法,因为它大大消耗电池。
我已经设置了CLLocation管理器的精确度和距离过滤器,以上述时间以外节省电池:
[locationManager setDesiredAccuracy:kCLLocationAccuracyThreeKilometers];
[locationManager setDistanceFilter:2000.0f];
我然后7-11pm之间改变这一回:
[locationManager setDesiredAccuracy:kCLLocationAccuracyBest];
[locationManager setDistanceFilter:10.0f];
我已关闭locationManager.pausesLocationUpdatesAutomatically
,因为这似乎会在用户停留15-20分钟后终止后台任务 - 当用户再次移动时不会恢复。
有没有更好的方法来最大限度地减少这些时间以外的电池消耗。
另外,我是否正确认为startMonitoringSignificantLocationChanges只在您移动超过500m时才进行位置更新 - 如果情况确实如此,那么在晚上7-11pm时它将不够准确。
任何想法?
感谢,对如何延长电池的任何想法在这些时间之外,如果后台任务必须连续运行? – 2014-11-03 16:29:05