Como personalizar a exibição e o tom da notificação ao usar GCMReceiver e GcmListenerService

Segui as instruções para configurar um aplicativo cliente do GCM para Androidaquie tenha um problema específico com este trecho:

Para aplicativos existentes que estendem um WakefulBroadcastReceiver, o Google recomenda migrar para GCMReceiver e GcmListenerService. Para migrar: no manifesto do aplicativo, substitua seu GcmBroadcastReceiver por "com.google.android.gms.gcm.GcmReceiver" e substitua a declaração de serviço atual que estende o IntentService ao novo GcmListenerService Remova a implementação BroadcastReceiver do código do cliente Refatorar a atualização atual Implementação do serviço IntentService para usar GcmListenerService

A maioria dos exemplos que eu vi na implementação do GCM, usa uma classe que estendeWakefulBroadcastReceiver. Tal comoeste. Ao fazer isso, você tem a oportunidade de usar oNotificationManager e personalizar o ícone de notificação, som etc. No entanto, se você seguir os conselhos do Google, não tenho certeza de como personalizar as notificações. A maioria dos exemplos que usamGcmListenerService conforme sugerido pelo Google, basta substituir oonMessageReceived método. Mas esse método é chamado apenas se o aplicativo já estiver em primeiro plano quando a notificação for recebida ou quando o usuário clicar na própria notificação. Esse método não é o lugar certo para personalizar o som da notificação. O som já foi reproduzido antes que esse método seja chamado.

Portanto, se eu precisar personalizar o som da notificação, provavelmente substituirei um método diferente emGcmListenerService, mas não há documentação que mostre qual. Outra opção é usar osound atributo descritoaqui. Mas então você precisa agrupar os arquivos de som nasres/raw diretório você mesmo. Isso parece errado. Prefiro usar o sistema desde sons, temas etc.

Pensamentos?

questionAnswers(2)

yourAnswerToTheQuestion