NotificationListenerService
как нельзя лучше подходит для этого.
Служба, которая получает вызовы от системы при публикации или удалении новых уведомлений или изменении их рейтинга.
Расширение этого класса, вы должны объявить службу в файле манифеста с разрешением Manifest.permission.BIND_NOTIFICATION_LISTENER_SERVICE
и включить фильтр намерений с действием SERVICE_INTERFACE
.Например:
<service android:name=".NotificationListener"
android:label="@string/service_name"
android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
<intent-filter>
<action android:name="android.service.notification.NotificationListenerService" />
</intent-filter>
</service>
Документация: NotificationListnerService
Возможно, вам необходимо реализовать такие методы, как cancelAllNotifications()
, cancelNotification(String key)
, чтобы заблокировать уведомления других приложений.