Question: So I'm not sure where/how to implement this method to make my service run in the foreground. Currently I start my service by the following in another activity: 

```
Intent i = new Intent(context, myService.class); 
context.startService(i);

```

And then in myServices' onCreate() I try the startForeground()...? 

```
Notification notification = new Notification();
startForeground(1, notification);

```

So yeah I'm a bit lost and unsure of how to implement this.

Answer: 
I'd start by completely filling in the `Notification`. [Here is a sample project](https://github.com/commonsguy/cw-omnibus/tree/v8.4/Notifications/Foreground) demonstrating the use of `startForeground()`.
If you want to make IntentService a Foreground Service
------------------------------------------------------

then you should override `onHandleIntent()`like this

```
Override
protected void onHandleIntent(@Nullable Intent intent) {

    startForeground(FOREGROUND_ID,getNotification());     //<-- Makes Foreground

   // Do something

    stopForeground(true);                                // <-- Makes it again a normal Service                         

}

```

How to make notification ?
--------------------------

simple. Here is the `getNotification()` Method

```
public Notification getNotification()
{

    Intent intent = new Intent(this, SecondActivity.class);
    PendingIntent pendingIntent = PendingIntent.getActivity(this,0,intent,0);

    NotificationCompat.Builder foregroundNotification = new NotificationCompat.Builder(this);
    foregroundNotification.setOngoing(true);

    foregroundNotification.setContentTitle("MY Foreground Notification")
            .setContentText("This is the first foreground notification Peace")
            .setSmallIcon(android.R.drawable.ic_btn_speak_now)
            .setContentIntent(pendingIntent);

    return foregroundNotification.build();
}

```

Deeper Understanding
--------------------

### What happens when a service becomes a foreground service

> 
> This happens
> 
> 
> 

[![enter image description here](https://i.stack.imgur.com/6ve6N.jpg)](https://i.stack.imgur.com/6ve6N.jpg)

What is a foreground Service ?
------------------------------

A foreground service,

* makes sure that user is actively aware of that something is going on in the background
by providing the notification.
* (most importantly) is not killed by System when it runs low on memory

### A use case of foreground service

[Implementing song download functionality in a Music App](https://github.com/rohitksingh/OLA_Play_Music_App)