title: Android location update every minute
body: <p>I am currently writing an application that receives location data every minute (or other specified amount of time) and thes send it to server.</p>
  
  <p>The problem that I have noticed is:
  When I use my application connected to power source it works perfectly - sends updates with defined interval.
  When I use it on battery it sends updates randomly.</p>
  
  <p>For my application I use timer to specify interval of update. This timer runs in Background service. I request updates in timer and remove updates when I receive location.
  Fragment of my code:</p>
  
  <pre><code>    private class mainTask extends TimerTask
      { 
          public void run() 
          {
              toastHandler.sendEmptyMessage(0); 
          }
      } 
  
      private final Handler toastHandler = new Handler()
      {
          @Override
          public void handleMessage(Message msg)
          {
              date = date.getInstance(); //used to set time of update.
  
              if(!GPSupdating)
              {
                  locationManager.requestLocationUpdates("gps", 0, 0, locationListenerGPS);
                  GPSupdating = true;
              }
          }
      };
  </code></pre>
  
  <p>My location listener:</p>
  
  <pre><code>    LocationListener locationListenerGPS = new LocationListener() 
      {
  
          public void onLocationChanged(Location updatedLocation) 
          {
              myGPSLocation = updatedLocation;
              haveLocationGPS = true;
              locationManager.removeUpdates(locationListenerGPS);
              GPSupdating = false;
          }
  
          public void onStatusChanged(String provider, int status, Bundle extras) {}
  
          public void onProviderEnabled(String provider) {}
  
          public void onProviderDisabled(String provider) {}
      };  
  </code></pre>
  
  <p>Do you have any idea why this is not working correctly?</p>