爲了節省電量,我監控位置更新以查看用戶是否已靜止一段時間;如果是這樣,我然後將CLLocationManager從其主要設置kCLLocationAccuracyBestForNavigation和kCLDistanceFilterNone(最大設置)降級到僅監視重大位置更改。核心位置:切換啓動監控重要位置從kCLDistanceFilterNone更改爲
問題是,它不起作用:在調用startMonitoringSignificantLocationChanges之後,位置更新繼續像調用之前一樣以高速率涌入。
你如何看待活動,然後再次備份?
更新:此代碼回答了這個問題:
//Set
if (shouldMonitorSignificantChangeUpdates) {
NSLog(@"Entering -> significant change mode");
[self.locationManager stopUpdatingLocation];
[self.locationManager startMonitoringSignificantLocationChanges]; //aka stop monitoring every location change
} else {
NSLog(@"Exiting <- significant change mode");
[self.locationManager stopMonitoringSignificantLocationChanges]; //aka begin monitoring every location change
[self.locationManager startUpdatingLocation];
}
你是如何測試的?通過文件設備通過檢測小區塔ID(GSM)的變化來判定存在顯着的位置變化。退房還http://stackoverflow.com/questions/8290707/startmonitoringsignificantlocationchanges-lack-of-準確 – 2012-03-04 08:18:05
是的,似乎我不允許塔改變,所以從來沒有更新,錯誤地假設整個系統是禁用。 – SG1 2012-03-04 16:41:07