私は、複数のプロバイダーからの位置の更新を正常に取得し、現在の最善の見積もりを得るためにそれらをフィルタリングするコードを持っています。GPSの位置はいつもゼロ速度を返します
返されたLocation.hasSpeed()および.hasBearing()値をチェックして、ユーザーが実際に移動しているときにベアリング関連の計算を行うコードを追加しました。
これは、すべての2.3.3を実行しているHuawei社ソニックで正常に動作しますが、.getSpeedのためのGoogleのネクサスSランニング4.0.4 .hasSpeedため常に falseを返しGPSプロバイダの場所()と0に()。
GPSリスナーを登録すると、GPSプロバイダは.supportsSpeed()に対してtrueを返しますが、確度が30mまで低下して物理的に移動している場合でも、最大レセプションのためのダッシュボード、スクリーンオン)。
2.3.xとICS 4.xの違いはありますか? プロバイダがサポートを報告しても自分自身の速度計算を実装する必要がありますか?
Android 4.1.1を実行しているNexus Sで現在の位置情報を受信できません Android 4.0.4を実行しているSamsung Galaxy NexusとAndroid 4.0.4を実行しているSamsung Galaxy S3で同じコードが正しく動作しています あると思われますNexus SデバイスでGPSの問題が発生する。 – Klaasvaak