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