我的问题很简单,但我很长时间无法绕过它,所以我在这里问。
如何隐藏状态栏中显示的正在进行的通知图标?我正在使用NotificationCompat.Builder
对象创建通知。我试图跳过(当取消选中显示图标的选项时)builder.setSmallIcon()
函数调用,但这导致通知屏幕上没有通知。
答案 0 :(得分:12)
从Android 4.1(API 16)开始,可以指定通知priority
。如果您set that flag到PRIORITY_MIN
,通知图标就不会显示在状态栏上。
builder.setPriority(NotificationCompat.PRIORITY_MIN);
自Android 8.0 Oreo(API级别26)起,您必须创建NotificationChannel
并将其importance
设置为IMPORTANCE_MIN
:
NotificationChannel channel =
new NotificationChannel(channelId, channelName, NotificationManager.IMPORTANCE_MIN);
notificationManager.createNotificationChannel(channel);
...
builder.setChannelId(channel.getId());
答案 1 :(得分:3)
如何隐藏状态栏中显示的正在进行的通知图标?
你没有。
我试图跳过(当取消选中显示图标的选项时)builder.setSmallIcon()函数调用,但这导致通知屏幕中没有通知。
正确。由于提出Notification
的主要目的是在状态栏中放置一个图标,因此无法不在状态栏中放置一个图标。