Android:有没有办法禁用通知捆绑?

Nir*_*bel 7 android android-notifications

我有一个应用程序,用户可以收到他们需要做的事情的多个通知.用户可以选择使其中一些通知持久化(我通过调用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());
Run Code Online (Sandbox Code Playgroud)

谢谢,Nir

Dib*_*nia 10

根据Google文档,来自同一应用的通知会自动捆绑 -

注意:如果同一个应用程序发送了四个或更多通知但未指定分组,系统会自动将它们分组在一起.

因此,在您的情况下,您可以执行的操作是,而不是使用默认分组的系统,您可以使用单独的组密钥将持久性通知和非持久性通知分别用于将通知分为两组.

查看Google文档.方法Builder.setGroup()on NotificationBuilderCompat取一个字符串参数,这是关键.有一个相关的方法B uilder.setGroupSummary你应该打电话给你Builder

希望这很清楚.