Android禁用通知声音

时间:2016-03-09 18:33:35

标签: android notifications

我想创建一个没有任何声音的通知。我怎样才能做到这一点? 我尝试了下面的代码,但它不适合我:

notification = mBuilder
        .setStyle(notiStyle)
        .setSmallIcon(notificationIcon)
        .setTicker(title)
        .setWhen(0)
        .setAutoCancel(true)
        .setContentTitle(title)
        .setContentIntent(resultPendingIntent)
        .setSound(null).build();

3 个答案:

答案 0 :(得分:4)

在通知构建器之后,添加

notification.defaults = 0;

告诉通知管理器在未指定时不要设置任何默认值(例如,您设置为null,因此它采用默认值,添加此项将删除此行为,因此完全禁用声音)。

答案 1 :(得分:4)

您可以在不使用NotificationCompat.Builder的情况下创建setSound()对象。这将创建一个没有任何声音的通知。

notification = mBuilder
                .setStyle(notiStyle)
                .setSmallIcon(notificationIcon)
                .setTicker(title)
                .setWhen(0)
                .setAutoCancel(true)
                .setContentTitle(title)
                .setContentIntent(resultPendingIntent)
                .build();

答案 2 :(得分:1)

在Android 26+(Oreo)中,您可以通过将通知渠道重要性级别设置为“ IMPORTANCE_LOW”或更低来实现此目的。

val importance = NotificationManager.IMPORTANCE_LOW
val channel = NotificationChannel(CHANNEL_ID, name, importance).apply {
    description = descriptionText
}