Я использую NotificationListenerService
для обработки уведомлений устройства:Обработка уведомления в строке состояния перед его отображением
@Override
public void onNotificationPosted(StatusBarNotification sbn) {
Log.d(TAG,"onNotificationPosted posted - ID :" + sbn.getId() + "\t"
+ sbn.getNotification().tickerText + "\t" + sbn.getPackageName());
}
Метод onNotificationPosted()
вызывается после того, как уведомление было размещено на устройстве. Есть ли способ поймать его до его представления?
Я видел, что уведомления о чтении также могут быть достигнуты с помощью AccessibilityManager, но снова он считывается после появления уведомления.
Есть ли способ отложить всплывающие окна уведомлений устройства до некоторого момента?
Я знаю, что могу удалить уведомление, используя NotificationListenerService
, поскольку он появился (после того, как он появился пользователю), и сохраните его и попытайтесь перезапустить его позже. Но у меня возникают проблемы с перезагрузкой, и снова это происходит после того, как уведомление о состоянии уже показано.
какие уведомления вы говорите? gcm push Уведомления? или любой другой ... почему вы не можете сделать всю необходимую работу, прежде чем показывать ее? – nvinayshetty
Все приложения на устройствах. я буду рад выполнить эту работу, прежде чем показывать ее, как я могу узнать эти уведомления? –
AFAIK Notifier Listener - единственный способ обработки уведомлений, но после его показа. В противном случае нет другого пути или, по крайней мере, я знаю. –