How to detect a Notification Channel is blocked by user in Android 8.0

3.1k Views Asked by At

Is there any callback my application receives when user blocks a Notification Channel created by my application OR it can be detected later ?

2

There are 2 best solutions below

0
On BEST ANSWER

No, there is no such listener provided by the APIs. You will have to check each time before you make a notification.

From the developer document

To find out if a user blocked a notification channel, you can call getImportance(). If the notification channel is blocked, getImportance() returns IMPORTANCE_NONE.

1
On

Starting from Android P, there is a system broadcast for this: https://developer.android.com/reference/android/app/NotificationManager.html#ACTION_NOTIFICATION_CHANNEL_BLOCK_STATE_CHANGED

It's impossible to reliably sync our backend push servers with the channel settings without this (you have to poll...)