仅对重复的Android通知播放一次声音

时间:2017-01-04 14:08:45

标签: android push-notification android-notifications

是否有办法只播放一次通知声音,以便发出重复通知?

有时我们的用户不小心发送了多个相同的通知,而第二个则不喜欢Android中的重复通知会发出恼人的声音。我无法找到处理此问题的设置。

2 个答案:

答案 0 :(得分:0)

我不认为有一个函数可以自己处理这个问题,但是如果每个通知都有唯一的ID,那么你就可以编写它(这样副本就会有相同的ID)。

我会更好地解释:当您在onMessageReceived()函数中收到新消息时,您会检查并查看是否存在具有相同ID的通知。如果是这样的话,新的是重复的,否则它是真实的新的。

这是检查通知Is it possible to check if a notification is visible or canceled?

的可行方法

答案 1 :(得分:0)

假设您知道识别什么是“重复通知”,则此代码应该可以解决问题:

private Notification buildNotification(Context context, int icon, String title, String message, boolean isDuplicate) {
    NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
            .setSmallIcon(icon)
            .setContentTitle(title)
            .setContentText(message)
            // Decide if you want a sound or not based on whether it is duplicate
            .setSound(isDuplicate ? null : RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)); 

    return builder.build();
}