В классе NotificationListenerService
есть метод onNotificationRemoved()
, который можно переопределить.Он фиксирует уведомления в строке состояния, которые вручную удаляются.
Но как захватить уведомления в строке состояния, которые автоматически отклоняются и снова публикуются с более новой версией, потому что они обновляются?Например, System UI
(com.android.systemui
)
Зарядка кабеля
Зарядка: 88% (около 34 минут до полной зарядки)
Послечерез некоторое время он автоматически отклоняется, и новая версия публикуется снова, потому что он обновляется.
Зарядка кабеля
Зарядка: 89% (Приблизительно 33 мин до полной зарядкивзимается)
Если я сохраню все активные уведомления строки состояния в виде списка в Android, то, вызвав переопределенный метод onNotificationRemoved()
в классе NotificationListenerService
, я смогу удалить вручную отклоненные уведомленияиз списка, но я не могу получить обновленные уведомления с помощью этой переопределенной функции.
Их более новые версии уведомлений добавляются к элементам представления списка без удаления более старых версий уведомлений из элементов.списка просмотра.Как с ними справиться?
Примечание. Если я действительно хочу отображать все уведомления об активной строке состояния в виде списка в Android, то можно получить все уведомления об активной строке состояния, позвонив *.Функция 1029 * в переопределенных методах onListenerConnected()
, onNotificationPosted()
и onNotificationRemoved()
отдельно в классе NotificationListenerService
вместо того, чтобы вместо получения всех активных уведомлений о строке состояния в методе onListenerConnected()
, добавлять новое уведомление о строке состояния в списокв Android в методе onNotificationPosted()
и удалении уведомлений об отмене строки состояния из списка в Android в методе onNotificationRemoved()
.
Но если серьезно, есть ли способ захватить автоматически отклоненные уведомления более старой версии в NotificationListenerService
класс, который обновляется более новой версией, если я приму к последней технике, с которой я упоминал выше, а не вместо прежней техники?