我正在寻找一种对警报应用程序使用最高优先级推送通知的方法。如果有可能,我永远都不希望用户因选择或意外而无法工作,因此请关闭警报声音。
我现在所拥有的是:
NotificationChannel channel = new NotificationChannel(channelId, channelName, NotificationManager.IMPORTANCE_MAX);
channel.setBypassDnd(true);
channel.setShowBadge(true);
channel.setLockscreenVisibility(Notification.VISIBILITY_PUBLIC);
channel.enableLights(true);
channel.enableVibration(true);
channel.setLightColor(Color.GREEN);
if (soundPath != null) {
AudioAttributes att = new AudioAttributes.Builder()
.setUsage(AudioAttributes.USAGE_ALARM)
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
.build();
channel.setSound(soundPath, att);
}
notificationManager.createNotificationChannel(channel);
我正在使用在另一个示例中找到的NotificationManager.IMPORTANCE_MAX-但由于在以下链接中显示“未使用”,因此它似乎不再受支持:https://developer.android.com/reference/android/app/NotificationManager#IMPORTANCE_MAX
setByPassDnd(true)-似乎也不起作用。显示了推送通知,但声音已静音。
在我看来,即使有很多文档,但该领域的覆盖面也不是很好,但是其中很多是陈旧的,并且在引入notificationchannel之前就已经存在。
EDIT 要清楚一点-无论电话上做了什么,我都希望最高水平的重要性和优先级:)