Я занимаюсь разработкой приложения, которое должно переопределить DND и отображать уведомления со звуком тревоги.Не могли бы вы предложить, возможно ли это?
Я использовал NotificationChannel для переопределения DND с помощью canBypassDnd (), но он возвращает все ложные значения, даже если я включил setBypassDnd (true).
Также я добавил экран настроек уведомлений, могу ли я переключить режим DND?
![enter image description here](https://i.stack.imgur.com/Nk1QT.jpg)
Ниже приведен мой код для уведомлений и DND.
ВКЛ. Код DND
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
notificationManager.setInterruptionFilter(NotificationManager.INTERRUPTION_FILTER_ALARMS);
}
Код уведомления
private int notificationIndex = 0;
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationChannel notificationChannel = new NotificationChannel(NOTIFICATION_CHANNEL_ID, "Dream",
NotificationManager.IMPORTANCE_HIGH);
notificationChannel.setDescription("");
notificationChannel.enableLights(true);
notificationChannel.setLightColor(Color.RED);
notificationChannel.enableVibration(true);
**notificationChannel.setBypassDnd(true);**
mNotificationManager.createNotificationChannel(notificationChannel);
}
**if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationChannel channel = mNotificationManager.getNotificationChannel(NOTIFICATION_CHANNEL_ID);
channel.canBypassDnd();
}**
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this, NOTIFICATION_CHANNEL_ID);
notificationBuilder.setAutoCancel(true)
.setColor(ContextCompat.getColor(this, R.color.colorAccent))
.setContentTitle(getString(R.string.app_name))
.setContentText("Test Notification")
.setDefaults(Notification.DEFAULT_ALL)
.setWhen(System.currentTimeMillis())
.setCategory(NotificationCompat.CATEGORY_ALARM)
.setPriority(NotificationCompat.PRIORITY_HIGH)
.setSmallIcon(R.drawable.ic_launcher_background)
.setAutoCancel(true);
mNotificationManager.notify(notificationIndex, notificationBuilder.build());
notificationIndex++;
Я хочу отображать уведомление со звуком, даже если DND включен.