アプリで 1 秒間に複数回実行されるコードがあります。私はすべてのサイクルで自分の場所を取得しようとしています。私は以下を使用しています:
Location myLastPos = LocationServices.FusedLocationApi.getLastLocation(googleApiClient)
私のアプリは、PARTIAL_WAKE_LOCK を使用してバックグラウンドでも実行されます。すべての画面で問題ないようです。画面をオフにしても、アプリは正常に動作しますが、位置情報の更新が一貫して取得されなくなりました。更新頻度がずっと低いようです (多くの場合、更新の間に数分かかります)。次を使用して、場所のタイムスタンプを確認しています。
myLastPos.getElapsedRealtimeNanos()
画面がオンのときでも、奇妙な結果が得られることもわかりました。更新の間に数ミリ秒かかることもあれば、数秒かかることもあります。これはすべて非常に懸念されます。誰かが FusedLocationApi を適切に使用するのを手伝ってくれるか、代替案を提案してくれますか? 私が本当に欲しいのは、Googleライブラリが邪魔をすることなく、緯度/経度を1秒に数回直接gpsにポーリングすることです。