我有一个应用程序,用户可以在其中收到有关他们需要做的事情的多个通知。用户可以选择使其中一些通知持久化(我通过调用NotificationCompat.Builder.setOngoing 来实现)。至少在我的 Android 版本 Nougat 上,当我的应用程序发布三个以上的通知时,它们会捆绑在一起成为一个通知,这使得用户只需轻轻一扫即可将所有通知忽略。这使得之前持久的通知不再持久。有没有办法以编程方式指示 Android 不要捆绑我的通知?
这是我用来构建通知并显示它的代码:
NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
.setSmallIcon(R.drawable.ic_notification)
.setContentTitle(eventName + " " + notificationText)
.setDefaults(Notification.DEFAULT_ALL)
.setOnlyAlertOnce(true)
.setContentIntent(eventListPendingIntent);
if (goalInfo.goal.persistNotification) {
builder.setOngoing(true);
} else {
builder.setAutoCancel(true);
}
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(eventType.value(), builder.build());
谢谢,尼尔
根据 Google 文档,来自同一应用程序的通知将自动捆绑 -
注意:如果同一个应用程序发送了四个或更多通知并且没有
指定分组,系统自动将它们分组在一起。
因此,在您的情况下,您可以做的是,您可以使用单独的组密钥将持久性通知和非持久性通知使用单独的组密钥将通知分为两组,而不是系统应用默认分组。
检查谷歌文档。方法Builder.setGroup()
on NotificationBuilderCompat
接受一个字符串参数,这是关键。
有一个相关的方法Builder.setGroupSummary
你应该打电话给你的Builder
希望这一点是清楚的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)