Как отключить группировку уведомлений андроид
Перейти к содержимому

Как отключить группировку уведомлений андроид

  • автор:

Урок 189. Notifications. Группировка уведомлений

В Android 7 (API 24) появилась возможность группировать уведомления. Даже если вы это явно не реализуете, система сама создаст группу, если у вас 4 и более уведомлений.

Выглядит это так:

Вы можете развернуть/свернуть/удалить группу. На отдельное уведомление вы также можете нажать или удалить его. Если уведомлений в группе становится меньше 4, то уведомления становятся отдельными от группы.

Все ваши уведомления будут попадать в одну безымянную группу. По умолчанию, нажатие на эту группу откроет приложение.

Рассмотрим, какие возможности управления группами нам даны.

1) создавать несколько групп и сами решать, в какую из них пойдет новое уведомление. Группа будет отображаться, когда в ней есть хотя бы два уведомления.

2) добавить к группе текстовое описание

3) добавить к группе PendingIntent, который сработает по нажатию на группу

В качестве примера можно рассмотреть почтовое приложение. У пользователя есть несколько аккаунтов и в них приходят новые письма. Будет разумно создавать отдельную группу для каждого аккаунта. Каждая такая группа будет отображать только те письма, которые находятся в определенном аккаунте.

Рассмотрим на практике. Создаем уведомление:

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this) .setSmallIcon(R.mipmap.ic_launcher) .setContentTitle("Sender " + 1) .setContentText("Subject text " + 1) .setGroup(GROUP_KEY); Notification notification = mBuilder.build(); NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); notificationManager.notify(1, notification);

Уведомление создается так же, как обычно. Добавлен только метод setGroup. В нем нам нужно указать String ключ группы, чтобы система знала, в какую группу помещать это уведомление.

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this) .setSmallIcon(R.mipmap.ic_launcher) .setContentInfo("user_mail.com") .setGroup(GROUP_KEY) .setGroupSummary(true); Notification notification = mBuilder.build(); NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); notificationManager.notify(-100, notification);

Группа создается так же, как и уведомление. Но тексты, которые мы обычно передаем в setContentTitle и setContentTitle, в группе не отображаются, поэтому я в примере их не использую. Правда, в следующих версиях Android отображение групп может измениться, и они вдруг начнут отображать titile и text. Может и имеет смысл передавать туда что-нибудь.

А вот текст из метода setContentInfo будет отображен, и это позволяет нам дать какое-то текстовое описание для группы, чтобы пользователь понимал, о чем она. Т.к. мы рассматриваем пример почтового приложения, то можно использовать имя аккаунта пользователя. Пользователь будет видеть в какой группе, содержимое какого аккаунта отображается.

В setGroup передаем String ключ группы. Его же мы используем при создании уведомлений, которые должны попадать в эту группу.

В setGroupSummary указываем true. Это означает, что уведомление является группой.

В методе notify, так же, как и для обычного уведомления, необходимо указывать id. Тут будьте внимательны и следите, чтобы у уведомления и у группы не совпали id. Группа все-таки является обычным уведомлением. А при совпадении id, одно уведомление заменит другое.

Как вариант, для уведомлений о новом письме можно брать id письма, а для групп — отрицательное значение id аккаунта. Тогда они точно не пересекутся.

В итоге вы получите такую картину

Три новых письма собрались в одну группу. И в описании группы видно, что она отображает письма аккаунта Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра. .

Когда создавать группу

Группу имеет смысл отображать каждый раз после создания уведомления, которое входит в эту группу. Если группа уже существует и отображается, то просто ничего не произойдет (если вы не меняли параметры группы).

А если мы отобразим группу только один раз, и пользователь в какой-то момент удалит ее из уведомлений, то все наши новые уведомления останутся без группы.

Сортировка в группе

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

Присоединяйтесь к нам в Telegram:

— в канале StartAndroid публикуются ссылки на новые статьи с сайта startandroid.ru и интересные материалы с хабра, medium.com и т.п.

— в чатах решаем возникающие вопросы и проблемы по различным темам: Android, Compose, Kotlin, RxJava, Dagger, Тестирование, Performance

— ну и если просто хочется поговорить с коллегами по разработке, то есть чат Флудильня

MIUI 12: отключение «пузырей диалогов» и «слежки Gmail»

Уже многие смартфоны Xiaomi обновились до Android 11 с фирменной оболочкой компании MIUI 12. После получения новой версии ОС у многих пользователей возникает один и тот же вопрос: как отключить всплывающие чаты, так называемые «пузыри диалогов». Об этом я и решил рассказать владельцам смартфонов Xiaomi, а заодно в этом гайде поделюсь информацией, как избавиться от «слежки Gmail» и сэкономить процент заряда аккумулятора (подойдет всем владельцам Android-устройств). Все операции буду проводить на смартфоне Poco M3 Pro MIUI 12.0.8

Отключение «пузырей диалогов»

Всплывающие диалоги — фунционал может быть для кого-то и полезный, но конкретно в MIUI реализация хромает. Тем более, что многие привыкли открывать приложения для ответа, а не пользоваться пузырьками. Для отключения «пузырей диалогов» необходимо:

1) Cкачать в Play Market приложение «Activity Launcher» (рейтинг 4.2, более 5млн скачиваний)
2) Запустить приложение
3) В поиске написать «Уведомления» и выбрать пункт «Уведомления«

Затем нужно перейти в пункт меню «Всплывающие чаты» и убрать «рычажок» с разрешения приложениям показывать всплывающие чаты. С активированной опцией чаты на экране выглядят как на 3-м скриншоте. Если деактивировать всплывающие чаты, то ответ на сообщения будет работать, как и в предыдущих версиях прошивок.

А если на экране «Уведомления» опуститься в самый них и тапнуть по пункту «Дополнительно», можно открыть очень интересные настройки. Здесь можно скрыть появление уведомлений на заблокированном экране, скрыть беззвучные уведомления, отрегулировать световую индикацию и др. Также в настройках MIUI Вам может быть полезна группировка уведомлений в шторке — лично я пользуюсь.

Отключение «слежки Gmail»

Подойдет не только владельцам гаджетов на MIUI, но и всем остальным андроидам. Наверняка многие из Вас никогда не заходили в меню настроек приложения почты Gmail, а оно, как и многие другие приложения от компании Google занимается сбором и анализом данных, а также отправкой их на нужные сервера. А эти действия в свою очередь приводят к дополнительному расходу аккумулятора, что никому из нас точно не нужно.

Для начала обновляемсяна последнюю версию приложения Gmail, чтобы избежать возможных отличий в названиях пунктов меню. На момент написания гайда это версия 2021.05.02.373487627, последнее обновление от 13 мая 2021 года.

1) Запускаем приложение Gmail
2) Переходим в Настройки
3) Выбираем свой адрес электронной почты

4) Проматываем меню настроек почти в самый конец
5) В разделе «Встречи» убираем галочку из чекбокса «Отправлять сведения для диагностики»
6) Поднимитесь выше и уберите также галочку пункта меню «Умные функции и персонализация в других продуктах Google»

Поздравляю! Вы успешно избавились от «пузырей диалогов» и «слежки Google»!

Как отключить push-уведомления на телефоне — 3 информативных пункта подсказок

Уведомления стали частью повседневной жизни, они оповещают о событиях, сообщениях, обновлениях, новостях.

Push-уведомления — это короткие сообщения, которые отображаются на смартфоне от приложений, чтобы донести пользователю разную информацию. Работают через веб-браузеры и утилиты на всех ОС.

После установки приложения или перехода на веб-сайт, программа запрашивает разрешение на отправку уведомлений. Если пользователь выбирает «Разрешить», сервер формирует сообщение и отправляет на устройство. Это удобно для срочных сообщений, чтобы быть в курсе событий. Однако такой поток информации может отвлекать и раздражать. Подписки снижают концентрацию и предоставляют угрозу личным данным.

как отключить push-уведомления на смартфоне

Однако push-уведомления можно настроить и выбрать список тех, что будут отображаться на смартфоне. В этой статье мы рассмотрим, как отключить пуш-уведомления на Android, iOS и в веб-браузере.

Как отключить уведомления на Android

На Android широкий выбор настроек уведомлений. Можно выбрать, какие приложения будут оповещать, а какие нет.

Как отключить push-уведомления для приложений:

  • Открыть настройки.
  • Перейти в раздел «Приложения» или «Приложения и уведомления».
  • Из списка установленных приложений, выбрать те, у которых необходимо отключить сообщения.
  • В настройках приложения нажать «Уведомления».
  • Среди разных типов уведомлений, выбрать те, которые нужно выключить.

Как отключить сообщения на панели уведомлений:

  1. Опустить панель уведомлений пальцем вниз.
  2. Нажать и удерживать навязчивое сообщение.
  3. Выбрать в левом нижнем углу «Отключить уведомления».
  4. Если установлено «По умолчанию», нажать «Без звука».

Данный способ применим для Android версии 10 и 11.

как отключить push-уведомления на Андроид

Назойливые уведомления можно отключить режимом «Не беспокоить». Функция будет блокировать звук вызовов и сообщений.

Как отключить оповещения с помощью режима «Не беспокоить»:

  • Свайпнуть по экрану сверху вниз.
  • Найти режим «Не беспокоить» на панели быстрых настроек
  • Нажать на иконку.
  • Удерживать кнопку «Не беспокоить», чтобы открыть меню.
  • Настроить отключения уведомлений в назначенное время.
  • Щелкнуть «По расписанию», а затем «Добавить».
  • Поставить «Начало» и «Окончание» режима.
  • Подтвердить действие нажатием галочки в верхнем правом углу.

Утилита Notification Blocker & Cleaner будет блокировать все уведомления приложений и очищать панельную шторку от ненужных сообщений. Нужно лишь отключить ползунки у нежелательных.

Как использовать программу Notification Blocker & Cleaner:

  1. Установить утилиту из Google Play.
  2. Щелкнуть «Clean Now» и дать доступ приложению к уведомлениям.
  3. Включить переключатель через «Notification Cleaner».
  4. Нажать на значок «шестеренки» и выбрать приложения, у которых нужно заблокировать уведомления.

Как выключить уведомления на iPhone

Система iOS также обеспечивает удобный контроль над уведомлениями. Существует три типа оповещений: значки иконок, баннеры и уведомление, что отображается в центре экрана.

Как отключить push-уведомления на iPhone:

  • Открыть настройки.
  • Нажать в левой части экрана на «Уведомления».
  • Провести пальцем вверх до появления списка приложений.
  • Выбрать программу, у которой нужно отключить уведомления.
  • Чтобы выключить, нужно нажать «Нет».
  • Для отключения красных значков на иконках программ, щелкнуть «Выкл.» возле пункта «Значки».

Как прекратить поток уведомлений на iPhone 12 и более поздних моделях:

  1. Вызвать «Центр уведомлений», проведя пальцем вниз от верхней части экрана.
  2. По одному из уведомлений смахнуть влево и выбрать «Управление».
  3. Появится два варианта:
  • «Доставить тихо» — оповещения будут попадать в «Центр уведомлений» и не будут отвлекать звуками и картинками.
  • «Выключить» — функция полностью отключит все уведомления.

На панели «Уведомлений» есть опция «Группировка уведомлений», где можно самостоятельно выбирать и группировать оповещения на главном экране или в «Центре уведомлений».

как отключить push-уведомления на Айфоне

Чтобы временно отключить все уведомления, оповещения и звонки, нужно войти в режим «Не беспокоить». Для этого необходимо зайти в настройки и щелкнуть пункт «Не беспокоить» или выбрать пункт «Не беспокоить по расписанию».

Как отключить оповещение во время вождения:

  • Открыть настройки.
  • Перейти в режим «Не беспокоить».
  • Пролистать список вниз до пункта «Не беспокоить водителя».
  • Щелкнуть кнопку «Активация».
  • Выбрать из трех пунктов один, по которому будет включаться функция.

Также на iPhone можно изменить тип push-уведомлений. Для этого нужно:

  1. Перейти в настройки.
  2. Нажать «Уведомления».
  3. Выбрать приложение, для которого необходимо изменить тип оповещений.
  4. На следующем экране проверить, что выбран параметр «Баннеры» и щелкнуть «Стиль баннера».
  5. Подобрать тип «Временный» (блокирует оповещения) или «Постоянный» (позволяет следить за всеми уведомлениями).

Как отключить уведомления для веб-браузеров на смартфоне

Один из самых популярных браузеров — Google Chrome. Многие пользователи, при переходе на веб-сайты, давали разрешение на отправку уведомлений. Теперь необходимо отключить оповещения Chrome. Для этого нужно:

  • Запустить Google Chrome на устройстве.
  • В верхнем правом углу окна браузера, нажать на три точки.
  • В меню перейти в настройки.
  • Пролистать до раздела «Конфиденциальность и безопасность».
  • Перейти в «Настройки сайта» и выбрать «Уведомления».
  • Откроется список разрешенных сайтов для оповещений.
  • Нажать на сайт и выбрать «Запретить».

Чтобы заблокировать запрос разрешений на отправку push-уведомлений, нужно:

  1. Открыть Хром и перейти в его настройки.
  2. Открыть раздел «Конфиденциальность и безопасность».
  3. Выбрать параметр «Настройки сайта».
  4. В разделе «Настройки разрешений», нажать «Уведомления».
  5. Найти параметр, где сказано «Сайты могут запрашивать отправку уведомлений».
  6. Нажать «Добавить» и Chrome заблокирует уведомления.

Если полистать экран вниз, можно внести белый список веб-сайтов. Таким образом они перестанут отправлять запросы на разрешения, а после внесения некоторых URL-адресов в белый список, можно будет видеть только их оповещения

как отключить push-уведомления в веб-браузере

Как отключить push-уведомления в Safari:

  • Открыть Сафари на смартфоне.
  • Перейти на панель «Safari», а затем «Настройки».
  • В настройках выбрать вкладку «Уведомления».
  • Будет показан список разрешенных сайтов для push-уведомлений.
  • Нажать «Удалить» и уведомления отключатся.

Как отключить push-уведомления в других браузерах, смотрите таблицу:

1. Открыть браузер.
2. В верхнем правом углу нажать троеточие.
3. В меню выбрать «Настройки».
4. Пролистать до «Конфиденциальность и безопасность».
5. В разделе «Разрешения» перейти в «Уведомления».
6. Нажать кнопку «Настроить» и удалить сайты из списка разрешенных

1. Запустить браузер.
2. Нажать на три точки и запустить меню.
3. Выбрать настройки.
4. В левой боковой панели выбрать «Конфиденциальность, поиск и услуги».
5. В разделе «Разрешения» перейти в «Уведомления».
6. Щелкнуть «Просмотреть разрешение» и удалить сайты из списка разрешенных

Следуя этим шагам, сможете настроить уведомления под себя. Теперь они не будут отвлекать. К тому же, увеличится работоспособность батареи и улучшится производительность устройства.

Группировка оповещений в Android 7

После обновления на Android 7 мы заметили, что уведомления стали группироваться по приложению автоматически. Так как на момент выхода новой версии Android в нашем приложении еще не было истории уведомлений это изменение было достаточно критично — в одной группе отображается только 7 уведомлений. Это значит, что если приходит более 20 уведомлений в сутки через приложение — необходимо смахивать новые чтобы увидеть более старые.

Уведомления в группе сортируются по приоритету. Если у вас в группе 7 уведомлений и приходит еще одно низкого приоритета — оно сначала будет наверху, а потом улетит в самый низ и его совсем не будет видно списке, до тех пор пока вы не удалите некоторое число уведомлений.

Мы сделали группировку по каналам, это позволяет сразу видеть канал и при возможности свернуть его. Даже если канал пришлет вам 100 уведомлений — они все равно легко сворачиваются и удаляются одним движением.

В этой статье мы расскажем, почему официальный мануал не работает, и как мы нашли способ сделать все правильно.

Что говорит официальный мануал?

Если зайти сюда, то тут нам рекомендуют просто «You can use the Builder.setGroup() method to bundle similar notifications». И далее рекомендуют перейти сюда.

Это работает только на Android Wear. Мы нашли решение методом тыка, однако при написании статьи был найден еще один мануал в статье. Он частично верен, но описано очень мало.

Как сделали мы

В мануале выше написано: «It is important to also create a summary notification. This summary notification, denoted by setGroupSummary(true), is the only notification that appears on Marshmallow and lower devices and should (you guessed it) summarize all of the individual notifications. This is an opportune time to use the InboxStyle, although using it is not a requirement. On Android N and higher devices, some information (such as the subtext, content intent, and delete intent) is extracted from the summary notification to produce the collapsed notification for the bundled notifications so you should continue to generate a summary notification on all API levels.»

Тут сразу всплывают те болячки на которые мы напоролись.

1. Нужно ограничить версию API

До Android 7 версии лучше вообще выключить группировку — так как иначе у вас не будут показаны уведомления в группе при использовании нашего решения.

Boolean groupflag = false; if(Build.VERSION.SDK_INT > 23)
2. Автозакрытие и пересоздание

Если не будет указано setAutoCancel(true) — при клике на последние уведомление из группы — группа останется висеть в списке. При приходе еще одного уведомления из группы можно пересоздать основное заголовочное с тем же ID — для идентификации мы используем для такого уведомления ID канала (subid), а через setContentTitle задается заголовок группы.

if(groupflag)
3. Создание самого уведомления

Не забываем setGroup(subname). Также интересный лайфхак, если вам нужно просто выключить стандартную группировку — вы можете добавить к примеру, setGroup(«App») без создания заголовочного уведомления. Тогда группировка на самом устройстве работать не будет, но для отключения групп еще и на часах, думаю стоит писать туда тогда рандомный текст. Без указания группы, уведомления будут группироваться по вашему приложению.

 NotificationCompat.Builder mBuilder = new NotificationCompat.Builder( context).setSmallIcon(R.mipmap.ic_launcher) .setAutoCancel(true) .setWhen(time) .setTicker(title) .setLargeIcon(icon) .setContentTitle(title) .setStyle(new NotificationCompat.BigTextStyle().bigText(msg)) .setContentText(msg) .setVibrate(new long[0]) .setSubText(subname) .setGroupSummary(false) .setColor(ContextCompat.getColor(context, R.color.blue)); if(groupflag) mBuilder.setGroup(subname);

Попробовать такие уведомления можно в нашем приложении, просто добавьте устройство в аккаунт и пропингуйте через личный кабинет в профиле 4-6 раз. Данная реализация позволяет неплохо экономить место в области уведомлений и эффективно управлять ими. Я очень часто вижу как в приложениях либо заменяют предыдущее уведомления, по сути убирая возможность его прочесть, либо просто не используют группировку там где она возможна.

Также небольшая деталь, если верить разделу про метаданные «метод addPerson() позволяет добавить к уведомлению список людей. С его помощью ваше уведомление может сигнализировать системе о том, что она должна сгруппировать уведомления от указанных людей или считать уведомления от этих людей более важными.» В данном случае можно не использовать вышенаписанное в статье, если у вас используются например уведомления о личных сообщениях пользователей. Однако мы этот способ не пробовали.

  • уведомления
  • android
  • pushall
  • групповые уведомления
  • Блог компании PushAll
  • Разработка под Android

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *