title: android getLastKnownLocation() return always return null
body: <p>I am creating an app that only checks for location when user clicks a button.</p>
  
  <p>here is my code, and it returns null when i call getLastKnownLocation, even after I call requestLocationUpdates:</p>
  
  <pre><code>public void main(String[] args, int iteration, Context context){
      Criteria criteria = new Criteria();
      LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
  
      LocationListener loc_listener = new LocationListener() {
          public void onLocationChanged(Location l) {
          }
          public void onProviderEnabled(String p) {}
          public void onProviderDisabled(String p) {}
          public void onStatusChanged(String p, int status, Bundle extras) {}
  
          };
  
      String bestProvider = locationManager.getBestProvider(criteria, false);
      locationManager.requestLocationUpdates(bestProvider, 0, 0, loc_listener);
      Location location = locationManager.getLastKnownLocation(bestProvider);
      location = locationManager.getLastKnownLocation(bestProvider);
      double lat;
      double lon;
      try {
          lat = location.getLatitude();
          lon = location.getLongitude();
  
      } catch (NullPointerException e) {
          lat = -1.0;
          lon = -1.0;
  
      }
      Log.i("results:",  String.valueOf(lat) + " " + String.valueOf(lon) + " 10NN");}}
  </code></pre>
  
  <p>the location service on the device is enabled.
  Thanks very much!</p>