Android如何隐藏状态栏上的NotificationCompat.Builder通知图标?

时间:2013-04-09 12:01:09

标签: android icons android-notifications android-statusbar

我的问题很简单,但我很长时间无法绕过它,所以我在这里问。

如何隐藏状态栏中显示的正在进行的通知图标?我正在使用NotificationCompat.Builder对象创建通知。我试图跳过(当取消选中显示图标的选项时)builder.setSmallIcon()函数调用,但这导致通知屏幕上没有通知。

2 个答案:

答案 0 :(得分:12)

从Android 4.1(API 16)开始,可以指定通知priority。如果您set that flagPRIORITY_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的主要目的是在状态栏中放置一个图标,因此无法在状态栏中放置一个图标。