前一段时间,我在更新通知以使用必需的 NotificationChannel 后,我更新了我的应用程序以添加对Android 8+的支持,我注意到我失去了一项功能。 br /> 该应用使用了天文钟通知,那时我可以更新通知优先级,使用 PRIORITY_HIGH 显示通知,因此通知已“推送”给用户,然后将通知优先级编辑为 PRIORITY_LOW ,以隐藏通知。
在阅读文档后,据我所知,创建NotificationChannel后我无法控制优先级,而将控制权留给用户,但是,要求用户编辑通知设置并不是我的最佳选择
相关代码:
//Creating the notification channel (while setting up the app)
NotificationChannel channel = new NotificationChannel(channelId, channelTitle, NotificationManager.IMPORTANCE_HIGH);
//Editing the NotificationChannel to lower the Notification priority (not working)
NotificationChannel channel = notificationManager.getNotificationChannel(channelId);
channel.setImportance(NotificationManager.IMPORTANCE_LOW);
notificationManager.createNotificationChannel(channel);
有没有办法在仍然使用NotificationChannels的情况下完成此行为?
答案 0 :(得分:0)
原来,我只是想了一下(很多),只是添加了选项 NotificationBuilder 上的 setOnlyAlertOnce 仍在使用 NotificationManager.IMPORTANCE_HIGH 设置频道的同时,会导致预期的行为,如下所示:>
NotificationCompat.Builder notificationBuilder =
new NotificationCompat.Builder(context, channelId).setOnlyAlertOnce(true);