title: How to check for the presence of a GPS sensor?
body: <p>I'm writing a method that will return true if there's a GPS sensor present and enabled, but returns false if it's absent or switched off. It's proving hard because...</p>
  
  <pre><code>hasSystemFeature("FEATURE_LOCATION_GPS")  // on PackageManager
  </code></pre>
  
  <p>Returns false, whether the device has a GPS or not. So even on a device that has one, and it's switched on, it still returns false. Seems completely wrong to me, but I can't see why.</p>
  
  <pre><code>isProviderEnabled("gps")   // on LocationManager
  </code></pre>
  
  <p>Returns true, even on a device I have here that has no GPS hardware at all. That also seems completely counter-intuitive.</p>
  
  <p>I accept these results could be because I'm missing something, the SDK isn't intuitive, or perhaps even that the devices I'm testing with are behaving strangely.</p>
  
  <p>What am I missing?</p>