android проверить, включен ли параметр уведомления «Разрешить звук» программно - PullRequest
2 голосов
/ 09 января 2020

Я действительно удивлен этим вопросом, так как его еще не задавали на SO. Это 2020 человек. Наше приложение пытается собрать информацию менеджера уведомлений с телефона, например, включены ли уведомления и включены ли звуки. Включить уведомления было легко: NotificationManager.areNotificationEnabled, но как программно проверить, включен ли для нашего приложения переключатель Allow sound в настройках уведомлений приложения, как показано на следующем снимке экрана?

settings

1 Ответ

1 голос
/ 09 января 2020

Я обнаружил, что вы можете определить это логическое значение, проверив, является ли значение важности диспетчера уведомлений меньше 0, т. Е. Отрицательно или больше или равно NotificationManager.IMPORTANCE_DEFAULT :

NotificationManager manager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
int importance = manager.getImportance();
boolean soundAllowed = importance < 0 || importance >= NotificationManager.IMPORTANCE_DEFAULT
...