Android 4.1 предлагает пользователю флажок для отключения уведомлений для определенного приложения.
Однако, как разработчик, мы не можем узнать, был ли вызов для уведомления эффективным или нет.
Мне действительно нужно проверить, отключены ли уведомления для текущего приложения, но я не могу найти никаких настроек для этого в API.
Есть ли способ проверить эту настройку в коде?
android
android-notifications
android-notification-bar
Гийом Перро
источник
источник
Ответы:
Вы не можете на 100% не можете.
В этом видео Google I / O 2012 об этом спрашивают, и руководитель проекта по новым уведомлениям заявляет, что вы не можете.
редактировать
Обновление 2016: Теперь вы можете проверить это, как сказано в этом видео Google I / O 2016 .
Используйте
NotificationManagerCompat.areNotificationsEnabled()
из библиотеки поддержки, чтобы проверить, заблокированы ли уведомления в API 19+. Версии ниже API 19 вернут true (уведомления включены).источник
NotificationManagerCompat.from(ctx).areNotificationsEnabled()
Ответ от @blundell правильный, но в новых версиях есть незначительные изменения.
источник
На самом деле это довольно просто сделать:
источник
Если вы используете Xamarin и вам нужен этот ответ, вы можете использовать этот код:
источник
Похоже, что нет способа запросить состояние уведомления.
Я рекомендую это:
Не на 100% правильно. Но это дает мнение.
Например, если пользователь не нажимает на уведомление приложения в течение 10-15 дней, возможно, он отключил его.
источник
Я использую этот метод, чтобы проверить, включены ли уведомления или нет, вышеупомянутые методы будут работать для проверки, включены ли уведомления или нет. Но начиная с Android 8 для создания уведомлений мы должны сначала создать канал , поэтому в Oreo мы должны проверить, включен ли ваш канал уведомлений или нет .
источник