NotificationFilterSupport
NotificationFilterSupport (알림 필터 지원 클래스)
NotificationFilter 인터페이스의 구현을 제공하는 클래스예요. 필터링은 알림 타입 속성을 기준으로 수행돼요.
본문
이 클래스는 활성화된 알림 타입 목록을 관리해요. 사용자는 메서드를 통해 필요한 만큼 많은 알림 타입을 활성화/비활성화할 수 있어요.
필터가 등록된 리스너에게 알림을 보내기 전에 알림 브로드캐스터는 이 알림 타입을 필터가 활성화한 모든 알림 타입과 비교해요. 필터가 이 알림 타입을 활성화한 경우에만 알림이 리스너에게 전달돼요.
다음은 예시예요.
NotificationFilterSupport myFilter = new NotificationFilterSupport();
myFilter.enableType("my_example.my_type");
myBroadcaster.addListener(myListener, myFilter, null);
리스너 myListener는 타입이 "my_example.my_type"과 같거나 그로 시작하는 알림만 받게 돼요.
주요 메서드는 다음과 같아요.
- isNotificationEnabled(Notification): 지정된 알림의 타입을 각 활성화된 타입과 비교해요. 알림 타입이 활성화된 타입 중 하나와 일치하면
true를 반환해요. - enableType(String prefix): 지정된 접두사로 시작하는 타입의 모든 알림을 리스너에게 보낼 수 있게 해줘요.
prefix가null이면IllegalArgumentException을 던져요.enableType("my_example.*")는 어떤 알림 타입과도 일치하지 않는다는 점에 주의해요. - disableType(String prefix): 주어진 접두사를 목록에서 제거해요.
- disableAllTypes(): 모든 알림 타입을 비활성화해요.
- getEnabledTypes(): 이 필터에 대해 활성화된 모든 알림 타입 목록을 반환해요.