Использование метода 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 класс, который обновляется более новой версией, если я приму к последней технике, с которой я упоминал выше, а не вместо прежней техники?

0 ответов