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?