ユーザーの場所を30分ごとに記録し、ユーザーが地図上のすべての場所を表示できるようにするアプリケーション(教育目的)を作成しています。更新が 30 分を超えないようにしたいのですが、そうです。
これは私が呼び出す方法ですrequestLocationUpdates
:
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 30 * 60 * 1000, 0, pe);
現在、ドキュメントには次のように明確に記載されています。
位置更新間の経過時間が minTime 未満になることはありません
しかし、ここで SO が別の方法で述べているいくつかの回答を見ました (たとえば、この回答)。
GPS から利用可能な場合はいつでも更新を取得しているようです。GPS アイコンがオフになることはなく、更新レートは 1 更新/秒を超えます。だから私はここに2つの質問があります:
- この
minTime
パラメーターは、ヒントとしても目的を果たしません (30 分の更新レートへのヒントは、1 秒以上の更新につながります...)。では、それは何をしますか? - それを行う他の方法はありますか?バッテリーの消耗が早すぎるため、GPS を常に有効にしたくありません。30 分ごとに繰り返すアラームをスケジュールして、電話をかけることはできます
requestSingleUpdate
か?