14

我想知道如何创建一个不在状态栏中显示图标的通知。

有办法隐藏吗?

4

5 回答 5

34

从 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通知设置NotificationChannelIMPORTANCE_MIN

NotificationChannel channel = 
      new NotificationChannel(channelId, channelName, NotificationManager.IMPORTANCE_MIN);
notificationManager.createNotificationChannel(channel);
...
builder.setChannelId(channel.getId())
于 2013-06-08T12:41:38.873 回答
3

.setPrioritywith 参数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();
于 2016-02-19T14:47:27.593 回答
1

NotificationManager.IMPORTANCE_UNSPECIFIED在我的情况下有效

于 2019-06-24T12:14:27.950 回答
-1

您可以通过拥有一个完全透明的图像并将其用作您的图标来做到这一点。:)

于 2012-07-07T09:28:23.610 回答
-2

没有图标就无法显示通知。

You can use transparent image. But, it take space of icon.

@CommonsWare:由于提出通知的主要目的是在状态栏中放置一个图标,因此通常不需要不在状态栏中放置图标,除非它是交互式的,例如切换或信息通知总是运行,你可能想要下拉,但没有使用图标。

检查此答案以获取更多详细信息。

于 2013-06-08T13:27:51.417 回答