我想知道如何创建一个不在状态栏中显示图标的通知。
有办法隐藏它吗?
答案 0 :(得分:32)
从Android 4.1(API级别16)开始,可以指定通知priority
。如果您将该标记设置为PRIORITY_MIN
,则通知图标不会显示在状态栏上。
notification.priority = Notification.PRIORITY_MIN;
如果您使用Notification.Builder
:
builder.setPriority(Notification.PRIORITY_MIN);
自Android 8.0 Oreo(API级别26)起,您必须将通知importance
的{{1}}设置为IMPORTANCE_MIN
:
NotificationChannel
答案 1 :(得分:3)
.setPriority
的 PRIORITY_MIN
可以实现这一目标。
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();
答案 2 :(得分:0)
NotificationManager.IMPORTANCE_UNSPECIFIED
适用于我的情况
答案 3 :(得分:-1)
您可以通过拥有完全透明的图片并将其用作图标来实现此目的。 :)
答案 4 :(得分:-2)
没有图标就无法显示通知。
You can use transparent image. But, it take space of icon.
@CommonsWare:由于提出通知的主要目的是在状态栏中放置一个图标,通常不需要在状态栏中放置图标,除非它是交互式的,例如切换或信息通知将始终运行,您可能想要下拉,但没有用于图标。