在 API 25 或更低时触发通知时没有提醒/声音

No Heads-Up / Sound when firing Notification on API 25 or lower

在 Android 上使用 NotificationCompat 时,通知仅在 API 26 级或更高级别上按预期工作。

代码:

val chan2 = NotificationChannel(SECONDARY_CHANNEL,
    getString(R.string.noti_channel_second), NotificationManager.IMPORTANCE_HIGH)
manager.createNotificationChannel(chan2)

fun getNotification2(title: String, body: String): NotificationCompat.Builder {
    return NotificationCompat.Builder(applicationContext, SECONDARY_CHANNEL)
            .setContentTitle(title)
            .setContentText(body)
            .setSmallIcon(smallIcon)
            .setAutoCancel(true)
}

fun notifySecondaryChannel(id: Int, notification: NotificationCompat.Builder) {
    notification.priority = NotificationCompat.PRIORITY_MAX
    manager.notify(id, notification.build())
}

依赖关系:

完整代码 on github(分叉并更新 google 样本)。

可以使用以下方式播放声音:

builder.setDefaults(Notification.DEFAULT_SOUND) or 
builder.setDefaults(Notification.DEFAULT_ALL)

或 setSound 的覆盖之一。例如:

public Notification.Builder setSound (Uri sound, 
                int streamType)