title: Android Change Location Provider not working
body: <p>I've got an App that manages its location manager and location listener in a service.</p>
  
  <p>My location listener is also a new service. 
  When some parameters match on a location update or a timer has matched, I change the location provider from gps to passive or from passive to gps. </p>
  
  <p>From passive to gps works fine but from gps to passive does not. </p>
  
  <p>This is my code that changes the providers</p>
  
  <pre><code>public void changeGPSProvider(String provider) {
      Log.i("ced", "Change Provider: " + provider);
      if(provider.equals(LocationManager.GPS_PROVIDER) &amp;&amp; this.locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
          this.locationManager.requestLocationUpdates(provider, 5, 1, this.locationListener);         
      } else {
          this.locationManager.requestLocationUpdates(LocationManager.PASSIVE_PROVIDER, 5, 1, this.locationListener);
      }
  }
  </code></pre>
  
  <p>Console prints:</p>
  
  <blockquote>
    <p>02-05 11:05:45.063: I/GCoreUlr(1049): Successfully inserted location
    02-05 11:05:45.063: I/GCoreUlr(1049): Not calling
    LocationReportingService, hasMoved: false, elapsed millis: 978046,
    request: Phone 02-05 11:05:46.865: I/ced(13235): Change Provider:
    passive</p>
  </blockquote>
  
  <p>Do you have any idea why? I just see that GPS signal is always working on my device.
  Thank you.</p>