Я устанавливаю фильтр прерывания, используя этот код:
NotificationManager myNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
myNotificationManager.setInterruptionFilter(NotificationManager.INTERRUPTION_FILTER_PRIORITY);
Он очень хорошо работает на всех устройствах, но по какой-то причине не работает на устройствах Xiaomi с Android 9. Режим «Не беспокоить» не активирован на этих устройствах. Он остается неизменным. Если я спрашиваю устройство, что является текущим прерыванием, оно отвечает значением 5. Это неизвестное и не задокументированное значение в Android Developer, как указано здесь.
int iCurrentInterruption = oNotificationManager.getCurrentInterruptionFilter();
iCurrentInterruption имеет значение 5. Ничего из следующего:
INTERRUPTION_FILTER_UNKNOWN = 0
INTERRUPTION_FILTER_ALL = 1
INTERRUPTION_FILTER_PRIORITY = 2
INTERRUPTION_FILTER_NONE = 3
INTERRUPTION_FILTER_ALARMS = 4