2012-03-31 6 views
0

私はバックグラウンドで動作するローカリゼーションアプリを開発しています。iphone - startMonitoringSignificantLocationChangesとdesiredCaccuracyを使用しているバッテリー

私はstartMonitoringSignificantLocationChangesを使用して、ユーザーの位置情報を取得しています。

この方法では、セルの塔を使用してユーザーの場所を特定するだけであるが、それほど正確ではない場合でもバッテリーを節約することができます。

私はdesiredAccuracyまたはdistanceFilterでこのメソッドを組み合わせた効果がどうなるか、不思議でしたか?

それでも、不正確でバッテリに優しいことはありますか?

実際にはGPSを使用してバッテリーを消耗しますか?

おかげ

答えて

0

は私の提案は、2 CCLocationManagerのとデリゲートメソッド

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

startMonitoringSignificantLocationChangesのための第1および[locationManager startUpdatingLocation]ための第二1を使用することです。ここにあなたのメインstartMonitoringSignificantLocationChangesと時々あなたが選んだ方法から、最初にGPS位置座標を取得したときと呼ぶとlocationManager[locationManager startUpdatingLocation]がすぐに呼び出されます。このアプローチは省エネルギーで、desiredAccuracy GPS座標を受信します。ちょうど魔法使いlocationManagerから来て、いつGPSを開始して停止するかを処理するためにいくつかの個人的な論理を作りなさい。

あなたは私のロジックを理解していないと私はいくつかのコードを記述します。今私は私のマックではない。

+0

はい私は少し失われたいくつかのコードを書いてください。ありがとう – subharb

0

documentation for startMonitoringSignificantLocationChanges状態:

これは、イベントを生成するdistanceFilterプロパティの値に依存しません。

そして、私の知る限り、このような背景で、「実行」、そのアプリケーションのために利用可能であること、この方法のエネルギー効率の高い自然にブレーキをかける、startMonitoringSignificantLocationChangesためdesiredAccuracyを使用するロケーションマネージャを伝える方法は、今そこにあります。

関連する問題