2017-01-04 4 views
0

Есть ли способ воспроизвести звук уведомления только один раз для получения дублирующего уведомления?Воспроизводить звук только один раз для дублирования уведомлений на Android

Иногда наши пользователи случайно отправляют более одно одно и то же уведомление, а на втором не хотят, чтобы раздражающий звук возникал для дублирования уведомлений в Android. Я не могу найти параметр, который обрабатывает это.

+0

Вы спрашиваете это для вашего собственного приложения или для всех приложений на телефоне? –

+0

Мое собственное приложение? Правильно ли это над потоком? –

+0

Я просил только быть уверенным :) (вы писали о настройках, поэтому я не был уверен) –

ответ

0

Я не думаю, что есть функция справиться с этим сама по себе, но вы можете написать ее, если у вас есть уникальный идентификатор для каждого уведомления (чтобы дубликат имел одинаковый идентификатор).

Я объясню лучше: когда вы получаете новое сообщение в своей функции onMessageReceived(), вы проверяете, есть ли уведомление с тем же идентификатором. Если это так, новый дубликат, в противном случае он новый для реального.

Вот возможный способ проверки уведомления Is it possible to check if a notification is visible or canceled?

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(); 
}