2

GPS またはネットワークに基づいて位置情報を取得しようとしていますが、GPS 位置情報に基づいて取得すると、位置情報の詳細を取得するのに時間がかかるという問題があります。したがって、ネットワークプロバイダーを使用してGPS信号が非常に低いフェッチロケーションである場合の方法を実装したいと思います。GPS 信号を確認するにはどうすればよいですか? これに問題がある場合は?GPS 信号はオープン スカイでも常に低いため、常にネットワーク プロバイダーに到達しますか?

この問題を解決するにはどうすればよいですか?

4

2 に答える 2

0

LocationManager.GetLastKnownLocation で場所をポーリングしていますか、それとも requestLocationUpdates を介して非同期で更新を取得していますか?

まず、GPS_PROVIDER を使用して場所をクエリします。null が返された場合は、NETWORK_PROVIDER をクエリします。

通知を受け取っている場合は、両方をリクエストしてください。次に、onStatusChanged を実装して、GPS が利用可能かどうかを通知し、利用可能な場合はネットワークの更新を無視し、利用できない場合はそれらを使用します (場所オブジェクトは、プロバイダーが何であったかを示します)。

于 2013-01-12T03:11:09.640 に答える
0

lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, ll); を追加しています。ネットワークを使用して GPS の取得を開始します。location.getProvider() を使用すると、GPS かネットワークかを区別できるはずです。

于 2013-01-12T03:20:44.963 に答える