如何创建没有状态栏图标的通知或者干脆躲呢?(How to create a notification

2019-06-26 03:27发布

我想知道如何创建一个通知,这并不表明在状态栏的图标。

有一种方法来隐藏它?

Answer 1:

由于Android 4.1(API级别16),它可以指定一个通知的priority 。 如果设置标志PRIORITY_MIN通知图标将不会在状态栏显示。

notification.priority = Notification.PRIORITY_MIN;

或者,如果你使用一个Notification.Builder

builder.setPriority(Notification.PRIORITY_MIN);

由于Android 8.0奥利奥(API等级26),你必须设置的importance通知的的NotificationChannelIMPORTANCE_MIN

NotificationChannel channel = 
      new NotificationChannel(channelId, channelName, NotificationManager.IMPORTANCE_MIN);
notificationManager.createNotificationChannel(channel);
...
builder.setChannelId(channel.getId())


Answer 2:

.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();


Answer 3:

您可以通过具有总透明图像做到这一点,并以此作为你的图标。 :)



Answer 4:

有没有办法显示通知没有图标。

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

@CommonsWare:由于养通知的主要点是把一个图标在状态栏,通常没有必要不要把一个图标在状态栏上,除非它是互动的,比如跳转或信息通知会始终运行,你可能就拉下来想,但没有使用的图标。

检查这个答案更详细。



文章来源: How to create a notification without icon in the statusbar or simply hide it?