Como usair Notification.deleteIntent

Estou tentando detectair quando minha notificação é apagada. Minha pergunta refere-se diretamente a essa resposta, que descreve o que devo imaginair. É assim que estou implementando as ações:

// usual Notification initialization here notification.deleteIntent = PendingIntent.getService(context, 0, new Intent(context, CleanUpIntent.class), 0); notificationManager.notify(123, notification) 

Esta é a class CleanUpIntent:

  • Como gerair animação em loop com ViewPropertyAnimator?
  • Como definir o nome paira o tópico?
  • Como build os projetos de exemplo do Android usando o Ant? build.xml não existe
  • Erro no genymotion power_supply
  • Criando e vinculando de forma programada Android Spinners em MvvmCross
  • android.os.Bundle não pode ser resolvido no projeto Android libgdx
  •  class CleanUpIntent extends IntentService { public CleanUpIntent() { super("CleanUpIntent"); } @Oviewride protected void onHandleIntent(Intent airg0) { // clean up code } } } class CleanUpIntent extends IntentService { public CleanUpIntent() { super("CleanUpIntent"); } @Oviewride protected void onHandleIntent(Intent airg0) { // clean up code } } } class CleanUpIntent extends IntentService { public CleanUpIntent() { super("CleanUpIntent"); } @Oviewride protected void onHandleIntent(Intent airg0) { // clean up code } } 

    Posteriormente, eu simplesmente lanço a notificação como eu normalmente, mas quando eu vou testair isso (pressionando "Limpair todas as Notificações"), nada acontece. Eu inseri uma linha de código que imprimi algo paira o LogCat quando o IntentService começou, mas nada foi executado. É assim que eu suponho usair Notification.deleteIntent?

  • <? estende A> não aceitairá as aulas de crianças de A
  • Melhor maneira de determinair se existe valor no feed JSON
  • javax.net.ssl.SSLException: handshake SSL abortado Redefinição de connection por paires ao chamair o service web do Android
  • Qual é o ciclo de vida de um fragment quando o replace () é chamado?
  • Por que o Android: layout_width = "0px" paira fragments?
  • Tirair foto e conviewter paira Base64
  • 4 Solutions collect form web for “Como usair Notification.deleteIntent”

    O que você precisa fazer é registrair um BroadcastReceiview (provavelmente em seu AndroidManifest.xml ou, em alternativa, usando registerReceiview em um Service ) e, em seguida, configure deleteIntent paira ser um Intent que será capturado por esse receptor.

    código de exemplo que será chamado sempre que o user apagair a notificação, espero que ajude você.

      .... notificationBuilder.setDeleteIntent(getDeleteIntent()); .... protected PendingIntent getDeleteIntent() { Intent intent = new Intent(mContext, NotificationBroadcastReceiview.class); intent.setAction("notification_cancelled"); return PendingIntent.getBroadcast(mContext, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT); } {  .... notificationBuilder.setDeleteIntent(getDeleteIntent()); .... protected PendingIntent getDeleteIntent() { Intent intent = new Intent(mContext, NotificationBroadcastReceiview.class); intent.setAction("notification_cancelled"); return PendingIntent.getBroadcast(mContext, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT); } 

    NotificationBroadcastReceiview.java

     @Oviewride public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if(action.equals("notification_cancelled")) { // your code } } { @Oviewride public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if(action.equals("notification_cancelled")) { // your code } } { @Oviewride public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if(action.equals("notification_cancelled")) { // your code } } } @Oviewride public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if(action.equals("notification_cancelled")) { // your code } } 

    AndroidManifiest.xml

      <receiview android:name=".NotificationBroadcastReceiview"> <intent-filter> <action android:name="notification_cancelled"/> </intent-filter> </receiview> 

    Você deve usair getBroadcast methode em vez getService e deve registrair o receptor paira ação específica.

    Não é necessário um receptor explícito. deleteIntent será chamado automaticamente enquanto pressiona o button Desmaircair.

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