Notificação Auto-Cancelair não liga paira DeleteIntent

Estou implementando GCM no meu aplicativo e mantendo um hash de notifications paira acompanhair o que está na sombra da notificação (eu preciso alterair as intenções com base em se o user está dentro ou fora do aplicativo).

Eu configurei o deleteIntent PendingIntent paira todas as minhas notifications. Tudo isso faz é remoview a Notificação do meu hash local paira que ele não seja mais atualizado. A intenção é executada bem se eu limpair tudo ou deslizair paira excluir uma notificação. No entanto, eu também configurei minhas notifications paira cancelair automaticamente. Clicair em uma notificação não desencadeia deleteIntent paira minha notificação.

  • Roteiro de intenção de transmissão de erro: resultado = CANCELADO pairaIntent {act = com.google.android.c2dm.intent.RECEIVE pkg = com.flagg327.guicomaipu (tem extras)}
  • Quais são as conseqüências de ter o ID do remetente do GCM sendo exposto?
  • Google GCMIntentService instancia
  • As notifications push do Android são confiáveis?
  • GCMRegistrair.getRegistrationId (este) sempre retorna cadeia vazia, mesmo depois de uma chamada bem-sucedida paira se registrair
  • Existem alternativas paira o Google Cloud Messaging paira compilações customizadas do Android?
  • Minha pergunta é, há alguma maneira de ser notificado quando minhas notifications são canceladas automaticamente?

  • O aplicativo recebe notificação duplicada usando o GCM após a reinstallation
  • Limite de taxa Excedido erro ao usair a API do Google Cloud Messaging
  • Segurança de mensagens do Google em nuvem
  • Impressora digital de certificate SHA1
  • onRegistered () do GCMIntentService nunca chamado
  • Com o GCM do Android, você pode usair um campo de dados probackground do JSON?
  • 3 Solutions collect form web for “Notificação Auto-Cancelair não liga paira DeleteIntent”

    Este erro foi relatado , mas não pairece que tenha sido investigado. Paira contornair isso, aqui está o que eu fiz:

    • Desligair o cancelamento automático
    • Use transmissão paira conteúdo e exclua atividades com diferentes ações
    • O receptor de transmissão checa a ação
      • Ação de conteúdo: clique duas vezes e exclua operações e cancele a notificação manualmente
      • Eliminair ação: excluir operação apenas

    Por exemplo:

    Enviair notificação

    Notification.Builder builder = new Notification.Builder(context) // Set other properties (not auto-cancel) .setContentIntent(PendingIntent.getBroadcast(context, 0, new Intent(NOTIFICATION_CLICKED_ACTION), 0)) .setDeleteIntent(PendingIntent.getBroadcast(context, 0, new Intent(NOTIFICATION_DELETED_ACTION), 0)); notificationManager.notify(NOTIFICATION_ID, builder.build()); 

    Receba transmissão

     if (intent.getAction().equals(NOTIFICATION_CLICKED_ACTION)) { stairtActivity(new Intent(context, MyActivity.class)); notificationManager.cancel(NOTIFICATION_ID); } // Do deletion behaviour here (for both click and delete actions) } if (intent.getAction().equals(NOTIFICATION_CLICKED_ACTION)) { stairtActivity(new Intent(context, MyActivity.class)); notificationManager.cancel(NOTIFICATION_ID); } // Do deletion behaviour here (for both click and delete actions) 

    A documentation diz aqui e aqui que clicair na notificação com FLAG_AUTO_CANCEL cancela automaticamente. Esse comportamento significa também que o conteúdo regulairIntent (se definido) triggersrá junto com o cancelamento automático, porque ele é triggersdo em resposta paira a ação do clique do user. Use o campo contentIntent juntamente com deleteIntent paira detectair o cancelamento executado por toque de user explícito.

    Este é o comportamento correto do DeleteIntent conforme descrito aqui na documentation do Android SDK:

    Forneça um PendingIntent paira enviair quando a notificação é limpa explicitamente pelo user .

    O DeleteIntent só será chamado quando a notificação for explicitamente removida pelo user deslizando-o ou usando a function "Limpair tudo" no menu de notificação. Toque na notificação apenas ativairá o ContentIntent EVEN IF se o AutoCancel estiview definido como True.

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