2017-02-11 6 views
2

У меня есть приложение, в котором пользователь может получать несколько уведомлений о том, что им нужно делать. У пользователя есть выбор, чтобы сделать некоторые из этих уведомлений постоянными (чего я достигаю, вызывая NotificationCompat.Builder.setOngoing). По крайней мере, на моей версии Android, которая является Nougat, когда мое приложение отправляет более трех уведомлений, они объединяются в одно уведомление, что делает их всех недопустимыми для одного пользователя. Это делает предыдущие постоянные уведомления более неустойчивыми. Есть ли способ программно проинструктировать Android о том, чтобы не связывать мои уведомления?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()); 

Спасибо, Нир

+0

Можете ли вы вставить фрагмент кода, потому что отправка по умолчанию не выполняется. Вы должны делать что-то, что вам явно не следует избегать связывания – Dibzmania

+0

Я добавил код к моему вопросу. Он связывает их только при наличии более трех уведомлений ... –

ответ

4

Согласно документации Google, уведомление из тех же приложений будет в комплекте автоматически -

Примечание: если одно и то же приложение отправляет четыре или более уведомлений и не задает группу , система автоматически группирует их вместе.

Так что в вашем случае, что вы можете сделать это, вместо системы, применяя группировку по умолчанию, вы можете разделить свои уведомления на две группы с помощью отдельного ключа группы для постоянных уведомлений и один для нестойких из них ,

Проверьте документы Google. Метод Builder.setGroup() на NotificationBuilderCompat принимает параметр строки, который является ключом. Существует связанный с этим метод B uilder.setGroupSummary, который вы должны позвонить по телефону Builder

Надеюсь, что это ясно.

+0

Спасибо! Использование другого ключа для каждого уведомления с помощью setGroup() полностью сработало! –

+0

Пожалуйста, добавьте ссылку на документацию, на которую вы ссылаетесь, что избавит нас от усилий по поиску в Google. – Sampo

+0

Эта документация: https://developer.android.com/guide/topics/ui/notifiers/notifications.html#bundle – kolombo

Смежные вопросы