2010-11-03 20 views
1

Je fais une application de suivi et il peut obtenir des positions de CLLocationManager en arrière-plan, ce qui présente le danger de manger de la batterie sans que l'utilisateur sache, donc je veux économiser autant de batterie que possible. Je veux que l'application piste "activement" (avec locationManager.distanceFilter = 10;) quand il y a assez de satellites pour fournir des positions GPS, mais "inactif" quand l'utilisateur est à l'intérieur (pas capable d'obtenir les positions GPS des satellites), ou ne bouge pas (même avec la couverture des satellites).Existe-t-il un moyen de mettre CLLocationManager en "inactif" mais pas "arrêté"?

La question est de savoir comment faire le "ralenti". Le [locationManager stopUpdatingLocation]; arrêtera complètement la vérification des mises à jour de localisation, qui n'ont alors aucune idée du moment où passer au suivi "actif".

Quelqu'un at-il des conseils s'il vous plaît? Merci.

+0

Java, Objective-C? WTF est-ce? – leppie

+0

J'ai enlever la balise objC et ajouter un iphone ... –

Répondre

0

avez-vous regardé: CLLocationManager

- (void)startMonitoringSignificantLocationChanges

ou peut-être

- (void)startMonitoringForRegion:(CLRegion *)region desiredAccuracy:(CLLocationAccuracy)accuracy