2017-01-04 4 views
0

Gibt es eine Möglichkeit, den Benachrichtigungston nur einmal für eine doppelte Benachrichtigung abzuspielen, die durchkommt?Sound nur einmal für doppelte Android-Benachrichtigung wiedergeben

Manchmal senden unsere Benutzer versehentlich mehr als eine der gleichen Benachrichtigung und auf der zweiten möchte nicht das lästige Geräusch für eine doppelte Benachrichtigung in Android auftreten. Ich kann keine Einstellung finden, die das behebt.

+0

Sind Sie fragen dies für Ihre eigene App oder für alle Apps auf einem Handy? –

+0

Meine eigene App? Das ist Stack Over Flow korrekt? –

+0

Ich wollte nur sicher sein :) (Du hast über Einstellungen geschrieben, also war ich mir nicht sicher) –

Antwort

0

Ich glaube nicht, dass es eine Funktion gibt, die das alleine bewältigt, aber Sie könnten es schreiben, wenn Sie für jede Benachrichtigung eine eindeutige ID haben (damit ein Duplikat dieselbe ID hat).

Ich werde besser erklären: Wenn Sie eine neue Nachricht in Ihrer onMessageReceived() - Funktion erhalten, überprüfen Sie, ob eine Benachrichtigung mit der gleichen ID vorhanden ist. Wenn dem so ist, ist das neue ein Duplikat, ansonsten ist es ein neues für echt.

Hier ist eine Möglichkeit, die Benachrichtigung der Überprüfung Is it possible to check if a notification is visible or canceled?

0

Sie wissen Unter der Annahme, zu identifizieren, was eine „doppelte Benachrichtigung“ ist dieser Code sollte es tun:

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