title: Service that runs every minute
body: <p>I have a service that I am wanting to execute a task every minute in the background. It does not need to execute the task whenever the phone is asleep, only when the user is actively using it. I am trying to do this with an IntentService which is set up as follows:</p>
  
  <pre><code>public class CounterService extends IntentService{
  
      public CounterService() {
          super("CounterService");
      }
  
      @Override
      public int onStartCommand(Intent intent, int flags, int startId) {
         return super.onStartCommand(intent,flags,startId);
      }
  
      @Override
      protected void onHandleIntent(Intent intent) {
          Toast.makeText(this, "onhandleintent", Toast.LENGTH_SHORT).show();
          while(true)
          {
              //one minute is 60*1000
              try {
                  Thread.sleep(5 * 1000);
                  Toast.makeText(getApplicationContext(), "getting app count", Toast.LENGTH_LONG).show();
              } catch (InterruptedException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              }
          }
      }
  }
  </code></pre>
  
  <p>Right now to get the functionality working I simply want it to display a toast every 5 seconds, I will change it to one minute later. If I have the <code>while(true)</code> commented out, then the "onhandleintent" message is displayed. However if I have the following code run, neither of the Toasts display. How can I fix this?</p>