Anpassen der Benachrichtigungsanzeige und des Benachrichtigungstons bei Verwendung von GCMReceiver und GcmListenerService

Ich habe die Anweisungen zum Einrichten einer Android GCM-Client-App befolgt.Hie, und habe ein spezielles Problem mit diesem Auszug:

Bei vorhandenen Apps, die einen WakefulBroadcastReceiver erweitern, empfiehlt Google die Migration auf GCMReceiver und GcmListenerService. So migrieren Sie: Ersetzen Sie im App-Manifest Ihren GcmBroadcastReceiver durch "com.google.android.gms.gcm.GcmReceiver" und ersetzen Sie die aktuelle Service-Deklaration, mit der IntentService auf den neuen GcmListenerService erweitert wird. Entfernen Sie die BroadcastReceiver-Implementierung aus Ihrem Client-Code Implementierung des IntentService-Dienstes zur Verwendung von GcmListenerService

Die meisten Beispiele, die ich für die GCM-Implementierung gesehen habe, verwenden eine Klasse, die @ erweiterWakefulBroadcastReceiver. Sowiediese. Wenn Sie das tun, erhalten Sie die Möglichkeit, das @ zu verwendeNotificationManager und passen Sie das Benachrichtigungssymbol, den Sound usw. an. Wenn Sie jedoch den Anweisungen von Google folgen, bin ich mir nicht sicher, wie Sie die Benachrichtigungen anpassen sollen. Die meisten Beispiele, die @ verwendGcmListenerService wie von Google vorgeschlagen, einfach das @ überschreibonMessageReceived Methode. Diese Methode wird jedoch nur aufgerufen, wenn sich die Anwendung beim Empfang der Benachrichtigung bereits im Vordergrund befindet oder wenn der Benutzer auf die Benachrichtigung selbst klickt. Diese Methode ist nicht der richtige Ort, um den Benachrichtigungston anzupassen. Der Sound wurde bereits vor dem Aufruf dieser Methode abgespielt.

So, wenn ich den Benachrichtigungston anpassen muss, sollte ich wahrscheinlich eine andere Methode in @ überschreibGcmListenerService, aber es gibt keine Dokumentation, die zeigt, welche. Eine andere Möglichkeit ist die Verwendung dessound Attribut beschriebenHie. Aber dann müssen Sie die Audiodateien im @ der Anwendung bünderes/raw Verzeichnis selbst. Das scheint falsch zu sein. Ich würde lieber einfach die vom System bereitgestellten Sounds, Themes usw. verwenden.

Gedanken

Antworten auf die Frage(4)

Ihre Antwort auf die Frage