私は、間隔および変位ベースの更新のためにGoogleApiClient
を使用して、バックグラウンドの位置更新について作業し、テストしています。数日間のテストと分析で、私が期待していなかった出力のバリエーションをいくつか考え出しました。背景Google APIを使用した位置情報の更新 - 融合位置提供者が正確でない
間隔ベースの更新のための
setInterval
とsetFastestInterval
を使用している間は、私が15分と最速間隔として10分、私は更新を取得しています時間の90%として間隔を設定していると言います期待される間隔(10〜15分)で。しかし時には、アップデートには指定された間隔よりもずっと長い時間がかかることに気付きました。違いは約30分と60分です。その違いは何かについてのアイデアは何ですか?距離ベースの更新のための
setMinimumDisplacement
を使用している間は、私だけ停留点(上200メートル、私は更新を取得していますよう変位を設定していると言っている間、それはあっても、更新を与えるものではありません旅行それは200メートル以上です)。これは正常に動作しますか?
私は、バックグラウンドでの位置情報の更新のためにBroadcastReceiver
に位置情報の更新を受け取るために、ロケーション要求のPendingIntent
タイプを使用しています。
fusedLocationProviderClient.requestLocationUpdates(locationRequest, pendingIntent);
テストしながら、場所サービスはモードがHIGH_ACCURACYた ON と場所でした。
私は通常の動作を言うことはできませんが、私はあなたに似た問題を見ました。正直言って答えは@Mitesh Vanaliyaがドキュメントから引用したものです**すべてのロケーションリクエストはヒントとみなされ、より正確で、より速く/遅くなったロケーションを受け取ることがあります**。または、あなたが望むものを教えてもらうこともできますが、時にはそれをやりますが、最終的にはいつでも何をしたいのですか? – Gary99
Googleの推奨する「FusedLocationApi」を使用しない場合は、古いLocationManagerを使用してより多くの制御を得ることができます。 [こちら](https://developer.android.com/guide/topics/location/strategies.html)は、その方法に関する情報です。 – Gary99
私は 'LocationListener'のために行きたくありませんでした。なぜなら、アプリケーション終了時に終了するからです。私はアプリケーションが終了しても位置更新を取得したいので、私は 'FusedLocationProviderClient'の' requestLocationUpdates'の 'PendingIntent'バージョンに行きました。 'setInterval'から得られる更新は' setMinimumDisplacement'よりはるかに優れています。なぜなら、_setInterval_からの位置は_setMinimumDisplacement_よりも正確ですからです。 – Joshua