title: Checking the location every 10 minutes in the background
body: <p>My requirement is to check the location of the device every 10 minutes using a background service. So the basic gist of what should happen every 10 minutes is this - </p>
  
  <ul>
  <li>Start the service.</li>
  <li>Wait a minute (maximum) for the listener to get a location, once the location is taken, remove the listener and then stop the service.</li>
  <li>If the listener doesn't respond, use getLastKnownLocation(), remove the listener and then stop the service.</li>
  <li>If the GPS is off, it reports to the app (this step is working fine)</li>
  </ul>
  
  <p>What I have tried doing till now - </p>
  
  <ul>
  <li>Made a service which is triggered every 10 minutes using an AlarmManager</li>
  <li>Added a Location Listener inside this service.</li>
  <li>onLocationChanged() from the LocationListener has the method - stopSelf() included, so that the service ends after receiving a location. However, this method is called a numerous times. I checked that while debugging. Is this because there are many instances of onLocationChanged() called ?  </li>
  </ul>
  
  <p>I don't need an entire code as the answer, I would rather appreciate a strategy I should adopt which will fulfil my requirements without hurting the battery much. As with my approach, unless and until the location is found, the GPS remains ON draining the battery constantly. </p>