Я использую NotificationListenerService для чтения входящих сообщений WhatsApp и Viber.
Начиная с документов, NotificationListenerService :
Служба, которая получает вызовы от системы, когда новые уведомления публикуются или удаляются, или их рейтинг изменяется.
Таким образом, моя служба вызывается, когда на экране пользователя появляется любое уведомление.Меня интересует, могу ли я как-то уменьшить ситуации, когда мой сервис вызывается?Потому что, в моем случае, меня интересуют только уведомления WhatsApp и Viber.
В настоящее время я фильтрую уведомления, просто вставив if условие в метод OnNotificationPosted()
, напримерthis:
@Override
public void onNotificationPosted(StatusBarNotification sbn) {
String packageName = sbn.getPackageName();
if (packageName.equalsIgnoreCase("com.viber.voip")
|| packageName.equalsIgnoreCase("com.whatsapp")) {
// my code
}
}
Итак, мой вопрос:
Можно ли как-то отфильтровать уведомления для NotificationListenerSevice
, чтобы NotificationListenerService
не вызывалось пакетами уведомлений, которыевне моего интереса?
Если бы это было возможно, я мог бы уменьшить ненужные вызовы моей услуги.