2012-03-31 42 views
0

我正在開發一個在後臺運行的本地化應用程序。iphone - 電池使用startMonitoringSignificantLocationChanges和desiredAccuracy

我正在使用startMonitoringSignificantLocationChanges來獲取用戶的位置更新。

我知道這種方法只使用手機信號塔來確定用戶的位置,但它可以節省電池,即使它不是很準確。

我想知道,將這種方法與desiredAccuracydistanceFilter相結合的效果是什麼?

它仍然不準確和電池友好?

或者它實際上會使用GPS並且耗盡電池?

感謝

回答

0

我的建議是使用兩個CCLocationManager的和委託方法

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation 

第一個爲startMonitoringSignificantLocationChanges,第二個爲[locationManager startUpdatingLocation]。這裏是我的意思:你的主要startMonitoringSignificantLocationChanges和不時你的選擇如何做到這一點,當你獲得第一個GPS位置座標時,立即撥打第二個locationManager[locationManager startUpdatingLocation],你叫[locationManager stopUpdatingLocation]。這種方法是節能的,你會收到一些GPS座標。只是讓一些個人邏輯來處理從女巫locationManager來,什麼時候開始和停止GPS。

希望你能理解我的邏輯,如果不是我會寫一些代碼。現在我不在我的Mac上。

+0

是的請寫一些代碼,我有點失落。謝謝 – subharb 2012-04-01 16:22:15

0

documentation for startMonitoringSignificantLocationChanges狀態:

它不依賴於distanceFilter屬性來生成事件的價值。

而且據我所知,現在有辦法告訴位置管理器使用desiredAccuracystartMonitoringSignificantLocationChanges,從而制動該方法是可用的應用程序的高效節能的性質,在後臺「運行」。