title: LocationManager: is the "network" provider always enabled?
body: <p>I want to select a LocationProvider that is enabled in Android. The project build target is Android 2.1.</p>
  
  <p>This is what I do in onCreate().</p>
  
  <pre><code>// ...
  LocationManager locationMgr = (LocationManager) 
  getSystemService(Context.LOCATION_SERVICE);
  
  Criteria criteria = new Criteria();
  criteria.setAccuracy(Criteria.NO_REQUIREMENT);
  criteria.setPowerRequirement(Criteria.NO_REQUIREMENT);
  criteria.setCostAllowed(false);     
  
  String bestProvider = locationMgr.getBestProvider(criteria, true);  
  
  Toast.makeText(getApplicationContext(),   "Provider = " + bestProvider + " enabled= " + locationMgr.isProviderEnabled(bestProvider), Toast.LENGTH_LONG).show();
  // ...
  </code></pre>
  
  <p>Now, I switch each network interface off and set flight mode on my device (HTC Desire, Android 2.2). I disconnect the device from USB. There is clearly no provider alive who  could actually provide location data to the device. I specifically ask <strong>getBestProvider</strong> for enabled providers only, so I expect it to return null or an empty string in that case. I expect <strong>isProviderEnabled</strong> to return false. </p>
  
  <p>The actual result is that <strong>getBestProvider</strong> returns "network" and <strong>isProviderEnabled</strong> reports it to be "enabled". Is "network" always "enabled" even when its not?</p>