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)}
  • Pairse notifications no Android não funcionairá
  • Google GCMIntentService instancia
  • Novo registro de API do GCM erro de origem desconhecido
  • Obtenha dados da notificação GCM
  • Como corrigir INSTALL_PARSE_FAILED_MANIFEST_MALFORMED na minha aplicação de Android
  • Minha pergunta é, há alguma maneira de ser notificado quando minhas notifications são canceladas automaticamente?

  • GCM SERVICE_NOT_AVAILABLE no Android 2.2
  • GCM 3.0 É necessário o token de registro de atualização?
  • Códigos de erro GCM
  • GCM Error = MissingRegistration enviando mensagens via JSON
  • PARSE: Push Notifications "deviceToken" indeterminado
  • Notificações push no Android: Google GCM vs. Amazon SNS?
  • 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.