Search code examples
androidnotificationsstatusbarintentservice

Android - notification does not appear in status bar


When starting an IntentService to upload a file in the background, I want to show a notification to the user that the upload is in progress by calling showNotification() from inside my service:

private void showNotification() {

    Notification notification = new Notification.Builder(this)
            .setSmallIcon(R.drawable.ic_cloud_upload_black_24dp)  
            .setWhen(System.currentTimeMillis()) 
            .setContentTitle("Uploading")
            .setContentText("Your upload is in progress.")
            .setOngoing(true)
            .build();

    mNotificationManager.notify(NOTIFICATION_ID, notification);
}

Now here's my problem: the notification appears on the lock screen, but not in the status bar when the screen is unlocked. What am I missing?

Deployment target is API level 24, so a missing NotificationChannel should not be the cause.


Solution

  • I feel so dumb. Turns out the notification was displayed all the time, but with a black icon on black background.

    Changed the icon colour in the xml from

    android:fillColor="#FF000000" to android:fillColor="#FFFFFFFF"

    and it works like a charm