如何在状态栏中创建没有图标的通知或只是隐藏它?

时间:2012-07-07 09:21:10

标签: android icons android-notifications android-statusbar

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

有办法隐藏它吗?

5 个答案:

答案 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:由于提出通知的主要目的是在状态栏中放置一个图标,通常不需要在状态栏中放置图标,除非它是交互式的,例如切换或信息通知将始终运行,您可能想要下拉,但没有用于图标。

check this answer for more detail.