I am working on an App where I want to show Push Notifications. Please note that since it is my client's requirement NOT to use any third party services, so using GCM/Firebase is out of question.
I am successfully able to show the notification from Service using the below code.
public class SendNotificationService extends Service {
    @Override
    public void onCreate() {
        super.onCreate();
    }
    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        CharSequence title = "Notification Title";
        CharSequence message = "This is a test notification.";
        Drawable drawable= ContextCompat.getDrawable(this,R.drawable.brand_icon_color);
        Bitmap bitmap = ((BitmapDrawable)drawable).getBitmap();
        NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)
                .setSmallIcon(R.drawable.brand_icon_small_color)
                .setLargeIcon(bitmap)
                .setAutoCancel(true)
                .setContentTitle(title)
                .setOngoing(false);
        mBuilder.setContentText(message);
        mBuilder.setTicker(message);
        mBuilder.setWhen(System.currentTimeMillis());
        NotificationManager notificationManager = (NotificationManager) this.getSystemService(NOTIFICATION_SERVICE);
        PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, new Intent(), 0);
        mBuilder.setContentIntent(pendingIntent);
        notificationManager.notify(0, mBuilder.build());
        return START_STICKY;
    }
    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }
    @Override
    public void onDestroy() {
        Toast.makeText(this, "Notifications Stopped...", Toast.LENGTH_LONG).show();
    }
}
I am starting this service through my AsyncTask onPostExecute method.
Intent intentService = new Intent(context, SendNotificationService.class);
context.startService(intentService);
I created this following a number of tutorials and found that if I will go to my Running Apps in Android Settings, I will be able to see this service running. But I was unable to locate any such service.
Now the problem is when I close my Application, the notification also disappears. I want it to stay until the user takes any action.
In addition to this, I want this service to start with phone startup even if the app is not started.