0

ロケーション変数の値が null になるのはなぜですか? LocationManager を正しく設定しています。

ここに私のソースコードがあります:

    //Get the current location
    locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
    myCriteria = new Criteria();
    String provider = locationManager.getBestProvider(myCriteria, true);
    Location location = locationManager.getLastKnownLocation(provider);
    boolean isGpsEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
    boolean isNetworkEnabled = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER); 
    //Location location;

    if (isGpsEnabled) { 
        location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
    }
    else { 
        location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
    }

    Log.i(TAG, "Provider is: "+provider);
    Log.i(TAG, "Location is: "+location);

logcat の出力は次のとおりです。

06-17 10:40:52.637: D/dalvikvm(15106): GC_FOR_ALLOC freed 534K, 7% free 10586K/11360K, paused 16ms, total 16ms
06-17 10:40:52.677: I/OGT.RideTracking(15106): Provider is: gps
06-17 10:40:52.677: I/OGT.RideTracking(15106): Location is: null
06-17 10:40:52.677: D/AndroidRuntime(15106): Shutting down VM

コードの何が問題になっていますか?

4

2 に答える 2

0
// getting GPS status
isGPSEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);

gps が有効になっているかどうかを確認します。

于 2013-06-17T15:57:54.940 に答える