12

GPS で使用していた他のプラットフォームから Android をプログラムする必要がありました。他のプラットフォームでは、GPS HW にアクセスできました (低レベルの GPS ドライバーがありました)。それによって、1 秒あたり 5 回以上の GPS 更新を取得できました。現在、Samsung Galaxy S2 で作業しています (これは明らかですその GPS は非常に強力で、1 秒あたり数回の更新を提供できます。

mlocManager.requestLocationUpdates( 
    LocationManager.GPS_PROVIDER, 0, 0, mlocListener
); 

1 秒あたり 1 回の更新 (または 2 つの更新間の最小ギャップとして 800 ミリ秒) を取得しますが、これは私のアプリケーションには低すぎます。GPS HW に何らかの形でより多くの更新を報告させる方法はありますか? ユーザーには公開されていないと思いますが、何らかの方法で GPS HW のレジスタにアクセスする方法はまだありますか?

4

1 に答える 1

4

現在、ほとんどの携帯電話で 1 秒に 1 回以上更新を取得することはできません。これはハードウェアの GPS 制限です。

通常、ほとんどの電話では 1hz です。

それはすべて、使用しているハードウェアとシナリオ (屋内、屋外) によって異なります。

しかし、繰り返しますが、次を使用して確認できます

LocationRequest setFastestInterval (long millis)

これにより、アプリケーションは、アクティブに位置を取得するよりも高速でパッシブに位置を取得できるため、電力を節約できます。

setInterval(long) とは異なり、このパラメーターは正確です。アプリケーションがこの値より速く更新を受信することはありません。

このメソッドは、アプリが位置情報の更新を処理できる最速のレートをミリ秒単位で設定します。他のアプリも更新の送信速度に影響するため、この速度を設定する必要があります。位置情報サービスは、LocationRequest.setInterval() を呼び出してアプリが要求した最速の速度で更新を送信します。

この速度がアプリの処理能​​力を超えている場合、UI のちらつきやデータ オーバーフローの問題が発生する可能性があります。

于 2014-01-28T06:27:56.317 に答える