title: StartForeground for IntentService
body: <p>I have an <code>IntentService</code> and I want to make it sticky with an ongoing notification. The problem is that the notification appears and then disappears immediately. The service continues to run. How should I use <code>startForeground()</code> in an <code>IntentService</code>?</p>
  
  <pre><code>@Override
  public int onStartCommand(Intent intent, int flags, int startId) {
      super.onStartCommand(intent, flags, startId);
      Notification notification = new Notification(R.drawable.marker, "Notification service is running",
              System.currentTimeMillis());
      Intent notificationIntent = new Intent(this, DashboardActivity.class);
      notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|
          Intent.FLAG_ACTIVITY_SINGLE_TOP);
      PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
      notification.setLatestEventInfo(this, "App",
              "Notification service is running", pendingIntent);
      notification.flags|=Notification.FLAG_NO_CLEAR;
      startForeground(1337, notification);
      return START_STICKY;
  }
  
  @Override
  protected void onHandleIntent(Intent intent) {
  
      String id = intent.getStringExtra(ID);
      WebSocketConnectConfig config = new WebSocketConnectConfig();
      try {
          config.setUrl(new URI("ws://" + App.NET_ADDRESS
                  + "/App/socket?id="+id));
      } catch (URISyntaxException e) {
          e.printStackTrace();
      }
      ws = SimpleSocketFactory.create(config, this);
      ws.open();
  }
  </code></pre>
  
  <p>Thanks</p>