質問

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

したがって、GPS_Providerが有効かどうかは関係ないように、ロケーションプロバイダーをNetwork_Providerとしてのみ設定しても大丈夫ですか。

正しいアプローチが何であるか教えてください。

よろしく

スニル

役に立ちましたか?

解決

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

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

他のヒント

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

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

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

よろしく、ヴィナイ

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top