2

デバイスでAndroidアプリをテストしていますが、使用すると常に失敗します

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
currentLocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);

ただし、GPS_PROVIDERの代わりにNETWORK_PROVIDERを使用すると、機能します。currentLocationはnullを返します。

どうすればこれを処理できますか?locationListenerに入れる必要のある特定のものはありますか?

ありがとう!

4

2 に答える 2

3

GPS_PROVIDERは、家の中など、限られた場所では機能しない場合があります。gpsプロバイダーがnullの場所を指定した場合、精度はそれほど高くありませんが、代わりにネットワークプロバイダーを使用するようにプログラムする必要があります。ここに別の問題があります。コードは次のようになります。

     if(locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)
{
     locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
    currentLocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
}
于 2011-08-25T09:47:16.557 に答える
1

まず、デバイスのステータスバーのGPSアイコンの点滅が止まり、実際にGPSがロックされていることを確認します。

GPSロックがない場合など、場所が現在不明な場合、呼び出しはnullを返します。

于 2011-08-25T09:40:08.037 に答える