私のアプリケーションでは、GPS の位置に基づいて速度を計算しました。
GPS レシーバーは同じ場所にある場合でも座標が異なる可能性があるため、電話が机の上にある場合でも、アプリは速度を記録しています。
同じ場所で受信している場合、GPS データを避ける必要があります。
「方位」に基づいたロジックを追加して、電話が実際に動いているのか、どの方向からでも不安定な位置データを受信しているのかを判断できるようにすることを考えています。
その前に、この種のデータを回避する他の方法はありますか?
メソッド リクエスト public void requestLocationUpdates (long minTime、 float minDistance、Criteria 基準、PendingIntent インテント) の Javadoc による AS はこちらにあります。
minTime ロケーション更新間の最小時間間隔 (ミリ秒単位) minDistance
ロケーション更新間の最小距離 (メートル単位)
したがって、minDistanceパラメーターを使用して、非常に短い距離の更新を回避できます...
多くの方法に取り組んだ後、ベアリングでプログラムしました。
最後の 5 つの場所に基づいて速度を上げています。次の場所で各場所の方位をチェックするロジックを追加しました。すべての方位の差が大きい場合は、場所がランダムな方向から受信されていると想定したため、デバイスは実際には動いていません。
そして、それは私にとってうまくいきました:)