1

デバイスが自動車内で動いていることを検出するプログラムを作成しようとしています。このために、LocationListener を登録し、返された場所で hasSpeed と getSpeed を使用します。

しかし、屋内の窓際にいると、毎秒 1 メートル、2 メートル、4 メートル、さらには 15 メートルの速度があちこちで見られることがあります。アプリケーションをリロードすると、パターンが変更されたように見えます (まったく修正されない場合があるため、何も表示されません...など)。

Googleマップを使用してGPSをテストしました。私が見ているのは、私が動いていなくても、私の場所が実際に数メートル跳ね返っていることです. 言うまでもなく、これは最悪です:)

更新は 10 秒ごとに行われます。残念ながら、私が検出したいしきい値速度は、OS から取得している「偽の」速度を下回っているため、OS ががらくたデータを提供しているかどうかを測定する別の方法 (速度自体以外) を探しています。

4

2 に答える 2

0

センサー TYPE_LINEAR_ACCELERATION を使用できます。使用できない場合は、TYPE_ACCELEROMETER をローパス フィルターと共に使用して、重力をフィルター処理し、デバイスの加速度を取得します。これらを単独で使用することも、Location と組み合わせて使用​​することもできます。詳細については、http://developer.android.com/reference/android/hardware/Sensor.html#TYPE_ACCELEROMETERをご覧ください。

于 2013-05-11T08:24:00.623 に答える
0

ドアの中にいるとき、GPS はどのように機能しますか? いくつかの衛星にヒットできる場合は、適切なデータが得られる可能性がありますが、そうでない場合は、wifi ホットスポットに関して近接を検出しているため、非常に問題があります。車に乗っている場合と一貫性のある動きの一貫性を検出するために、何らかのロジックを組み込む必要があるでしょう。

詳細については、こちらの回答をご覧ください。

于 2013-05-11T07:23:44.137 に答える