1

私のアプリケーションには、ユーザーの現在の場所が必要です。このために私はコードを実装し、現在の場所を取得することができます。コードは最初に最適なプロバイダーを取得しようとし、次に位置情報を取得します。問題は、GPS_PROVIDERが無効になっている場合、現在地がNETWORK_PROVIDERから返されることです。NETWORK_PROVIDERとGPS_PROVIDERの両方が有効になっている場合、最適なプロバイダーはGPS_PROVIDERになり、現在の場所を取得するのに時間がかかりすぎます。

したがって、GPS_PROVIDERが有効かどうかに関係なく、ロケーションプロバイダーをNETWORK_PROVIDERとしてのみ設定しても問題ありません。

正しいアプローチを教えてください。

よろしく

スニル

4

2 に答える 2

1

アプリケーションによっては、ネットワークの場所だけを使用できる場合があります。これは、多くのロケーションベースのサービスにとって十分にきめ細かいものです。さらに、GPSラジオでユーザーのバッテリーを吸い上げることを心配する必要はありません。

しかし、本当に可能な限り正確な場所が必要な場合は、両方のプロバイダーの話を聞いてみませんか?getLastKnownLocation()初期位置のメソッドを使用できます。次に、その場所を使用できますNETWORK_PROVIDER。次に、から修正を取得するとすぐにGPS_PROVIDER、ネットワークリスナーを無視または削除できます。

于 2010-08-10T13:37:55.227 に答える
0

GPSは、ネットワークプロバイダーよりも優れた精度を提供します。

ネットワークプロバイダーは、セルタワーとwifiの三角測量を使用して行われます。

したがって、すぐに必要な場合は、「最後の既知の場所」から始めて、ネットワークに切り替えます。GPSから修正を取得したら、それを使用し始めます。

よろしく、vinay

于 2010-08-10T13:36:24.017 に答える