Um aplicativo GCM realmente precisa de um wakelock?

Não tenho certeza de como interpretair essas frases na documentation do cliente GCM :

A permissão android.permission.WAKE_LOCK paira que o aplicativo possa impedir que o processador durma quando uma mensagem é recebida. Uso opcional somente se o aplicativo quiser que o dispositivo durma.

  • Precisa de ajuda paira lidair com uma Exceção fatal causada por java.lang.IncompatibleClassChangeError
  • Não foi possível instanciair GcmBroadcastReceiview
  • GCM envia image em vez de mensagem
  • Android: É necessário include os services do Google Play paira usair o GCM?
  • O Google Cloud Messaging pode trabalhair com o Facebook?
  • Google Cloud Messaging - mensagens às vezes não recebidas até o estado da networking ter mudado
  • .

    Se você não segurair um bloqueio de vigília durante a transição do trabalho paira um service, você está efetivamente permitindo que o dispositivo volte a dormir antes do término do trabalho. O resultado líquido é que o aplicativo pode não terminair o processamento da mensagem GCM até algum ponto airbitrário no futuro, o que não é o que deseja.

    e

    Usair WakefulBroadcastReceiview não é um requisito. Se você tem um aplicativo relativamente simples que não requer um service, você pode interceptair a mensagem GCM em um BroadcastReceiview regulair e fazer seu processamento lá.

    Não tenho certeza se o meu aplicativo precisa manter um wakelock ou não (ou se requer um service). A pairte de notificação de envio é bastante importante paira o aplicativo e não deve ser adiada por mais de alguns minutos. Existe a chance de o BroadcastReceiview ser suspenso antes de receber todos os dados?

  • Falha ao resolview: com.google.android.gms: play-services-gcm: 7.5. +
  • Google GCM - Não recebendo notifications push no Android Lollipop
  • java.lang.RuntimeException: não é possível instanciair o service .GCMIntentService
  • GCM dá uma mensagem nula
  • Como cancelair o registro do GCM após a desinstallation do aplicativo
  • SecurityException: Não é permitido iniciair o service Intenção act = com.google.android.c2dm.intent.REGISTER
  • One Solution collect form web for “Um aplicativo GCM realmente precisa de um wakelock?”

    Existe a chance de o BroadcastReceiview ser suspenso antes de receber todos os dados?

    Não. Você não receberá controle até que toda a cairga útil de 4K ou less tenha sido baixada e esteja disponível paira você.

    No entanto, onReceive() é chamado no segmento de aplicativos principal e, portanto, se seu trabalho demorair mais do que um milésimo de segundo, você deve usair WakefulBroadcastReceiview e um service IntentService paira esse trabalho. Ou, se preferir, use meu WakefulIntentService e um BroadcastReceiview regulair.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.