iphone - Батарея использует startMonitoringSignificantLocationChanges и желаемую точность - PullRequest
0 голосов
/ 31 марта 2012

Я разрабатываю приложение для локализации, которое работает в фоновом режиме.

Я использую startMonitoringSignificantLocationChanges для получения обновлений местоположения пользователя.

Я знаю, что этот метод использует толькосотовая вышка определяет местоположение пользователя, но экономит батарею, даже если она не очень точная.

Мне было интересно, каков будет эффект, комбинирующий этот метод с desiredAccuracy или distanceFilter?

Будет ли он по-прежнему неточным и безопасным для батареи?

Или он действительно будет использовать GPS и разряжать батарею?

Спасибо

Ответы [ 2 ]

0 голосов
/ 26 октября 2012

Документация для startMonitoringSignificantLocationChanges гласит:

Он не зависит от значения в свойстве distanceFilter для создания событий.

И, насколько я могу судить, теперь есть способ указать менеджеру местоположения использовать desiredAccuracy для startMonitoringSignificantLocationChanges, тем самым нарушая энергоэффективность этого метода, доступного для приложения, которое «работает» в фоновом режиме.

0 голосов
/ 01 апреля 2012

я предлагаю использовать два метода CCLocationManager и делегата

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

Первый для startMonitoringSignificantLocationChanges, а второй для [locationManager startUpdatingLocation].Вот что я имею в виду: ваш основной startMonitoringSignificantLocationChanges и время от времени ваш выбор, как это сделать, немедленно вызвать секундные locationManager и [locationManager startUpdatingLocation], когда вы получите первые координаты местоположения GPS, которые вы называете [locationManager stopUpdatingLocation].Этот подход позволяет экономить энергию, и вы получаете desiredAccuracy GPS-координаты.Просто сделайте некоторую личную логику, чтобы справиться с ней, когда придет locationManager и когда запускать и останавливать GPS.

Надеюсь, вы понимаете мою логику, если нет, я напишу некоторый код.Теперь я не на своем Mac.

...