【Interface&navigation】修改通知徽章(42)


从8.0(API级别26)开始,当关联的应用程序具有活动通知时,通知标记(也称为通知点)将显示在启动器图标上。用户可以长按应用程序图标以显示通知(以及任何应用程序快捷方式),如图1所示。

这些点默认显示在支持它们的启动器应用程序中,并且您的应用程序无需执行任何操作。但是,在某些情况下,您可能不希望显示通知点,或者您希望准确控制在那里显示哪些通知。
【Interface&navigation】修改通知徽章(42)
图1.通知标记和长按菜单

禁用徽章


存在这样的情况徽章没有意义了您的通知,这样你就可以通过调用每个通道的基础上禁用它们 setShowBadge(false) 您的NotificationChannel对象。

例如,您可能希望在以下情况下禁用通知标记:

正在进行的通知:大多数正在进行的通知(例如图像处理,媒体播放控件或当前导航说明)作为徽章都没有意义。
日历提醒:避免在当前时间发生的标记事件。
时钟或警报事件:避免与当前警报相关的标记通知。
以下示例代码说明了如何隐藏通知通道的徽章:

String id = "my_channel_01";
CharSequence name = getString(R.string.channel_name);
String description = getString(R.string.channel_description);
int importance = NotificationManager.IMPORTANCE_LOW;
NotificationChannel mChannel = new NotificationChannel(id, name, importance);
mChannel.setDescription(description);
mChannel.setShowBadge(false);

NotificationManager mNotificationManager =
        (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.createNotificationChannel(mChannel);

设置自定义通知计数


默认情况下,每个通知都会增加长按菜单上显示的数字(如图1所示),但您可以为应用覆盖此数字。例如,如果您只使用一个通知来表示多个新邮件,但您希望此处的计数代表新邮件总数,则这可能很有用。

要设置自定义号码,请调用setNumber()通知,如下所示:

Notification notification = new NotificationCompat.Builder(MainActivity.this, CHANNEL_ID)
        .setContentTitle("New Messages")
        .setContentText("You've received 3 new messages.")
        .setSmallIcon(R.drawable.ic_notify_status)
        .setNumber(messageCount)
        .build();

修改通知的长按菜单图标


长按菜单显示与通知关联的大图标或小图标(如果可用)。默认情况下,系统显示大图标,但您可以调用Notification.Builder.setBadgeIconType()并传入BADGE_ICON_SMALL常量以显示小图标。

Notification notification = new NotificationCompat.Builder(MainActivity.this, CHANNEL_ID)
        .setContentTitle("New Messages")
        .setContentText("You've received 3 new messages.")
        .setSmallIcon(R.drawable.ic_notify_status)
        .setBadgeIconType(NotificationCompat.BADGE_ICON_SMALL)
        .build();

隐藏重复的快捷方式


如果您的应用创建了复制应用快捷方式的通知,则可以在通知处于活动状态时通过调用暂时隐藏快捷方式 setShortcutId()。

联系我

QQ:94297366
微信打赏:https://pan.baidu.com/s/1dSBXk3eFZu3mAMkw3xu9KQ

公众号推荐:

【Interface&navigation】修改通知徽章(42)

猜你喜欢

转载自blog.51cto.com/4789781/2157083
今日推荐