Reputation: 5590
I'd like to know how to create a notification that doesn't show the icon in the statusbar.
There is a way to hide it?
Upvotes: 14
Views: 9883
Reputation: 33904
Since Android 4.1 (API level 16) it's possible to specify a notification's priority
. If you set that flag to PRIORITY_MIN
the notification icon won't show up on the statusbar.
notification.priority = Notification.PRIORITY_MIN;
Or in case you use a Notification.Builder
:
builder.setPriority(Notification.PRIORITY_MIN);
As of Android 8.0 Oreo (API level 26) you have to set the importance
of the notification's NotificationChannel
to IMPORTANCE_MIN
:
NotificationChannel channel =
new NotificationChannel(channelId, channelName, NotificationManager.IMPORTANCE_MIN);
notificationManager.createNotificationChannel(channel);
...
builder.setChannelId(channel.getId())
Upvotes: 34
Reputation: 4388
.setPriority
with parameter PRIORITY_MIN
will make this possible.
NotificationCompat notification = new NotificationCompat.Builder(this)
.setContentTitle(getString(R.string.app_name))
.setContentText(getString(R.string.notification_text))
.setSmallIcon(R.mipmap.ic_launcher)
//Show the notification only in NotificationDrawer.
//Notification will not be shown on LockScreen as well as Hidden Icon on StatusBar.
.setPriority(Notification.PRIORITY_MIN)
.build();
Upvotes: 3
Reputation: 18978
there is no way to show notification without icon.
You can use transparent image. But, it take space of icon.
@CommonsWare: Since the primary point of raising a Notification is to put an icon in the status bar, there is usually no need to not put an icon in the status bar, unless it is interactive, such as a toggle or information notification that will always run and you might want on the pull down, but has no use for an icon.
check this answer for more detail.
Upvotes: -2
Reputation: 3521
You can do this by having a total transparent image and use that as your icon. :)
Upvotes: -1