Разработка приложения, которое работает как приложение DND и блокирует все уведомления на данное время - PullRequest
0 голосов
/ 05 мая 2019

Я новичок в Android, и я хочу разработать приложение, которое блокирует все другие уведомления приложения в течение некоторого периода времени. Можно ли заблокировать уведомления других приложений? Если это возможно, кто-нибудь может мне помочь? Может кто-нибудь помочь мне с этим?

Я использовал один подход, который является методом InterruptionFilter, но он не работает. Ниже мой код, где я его использовал.

mNotificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);

//On button click calling the below method
mNotificationManager.setInterruptionFilter(NotificationManager.INTERRUPTION_FILTER_NONE);

1 Ответ

0 голосов
/ 05 мая 2019

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), чтобы заблокировать уведомления других приложений.

...