come utilizzare l'intenzione di eliminare per eseguire alcuna azione sulla notifica chiara?

Voglio reimpostare una variabile del mio servizio quando l'utente annulla la mia notifica: è tutto!

Guardando in giro vedo che tutti suggeriscono di aggiungere un intento di eliminazione alla mia notifica, ma l'intento è utilizzato per avviare un'attività, un servizio o qualsiasi altra cosa mentre ho solo bisogno di una cosa del genere:

  • Imansible get HttpParams a lavorare con Postrequest
  • Android Nido d'ape: problema di layout - hide / mostrare FrameLayouts
  • Registro GCM SERVICE_NOT_AVAILABLE
  • Android: distriggers la selezione ListView
  • Sono confuso con drawable-hdpi e drawable-mdpi
  • Eliminare automaticamente LogCat su each Debug / Esegui Eclipse?
  • void onClearPressed(){ aVariable = 0; } 

    come get questo risultato?

    One Solution collect form web for “come utilizzare l'intenzione di eliminare per eseguire alcuna azione sulla notifica chiara?”

    Le notifiche non vengono gestite dall'applicazione e tutte le cose come la visualizzazione delle notifiche e la cancellazione sono in corso in un altro process. Non puoi fare un'altra applicazione direttamente eseguire un codice solo per motivi di sicurezza.

    L'unica possibilità nel tuo caso è quella di fornire un PendingIntent che solo avvolge un intento regolare e verrà avviato a nome della tua app quando la notifica viene eliminata. È necessario utilizzare PendingIntent per submit la trasmissione o l'avvio di un servizio e quindi fare quello che volete nel ricevitore broadcast o nel servizio. Quello che esattamente da usare dipende da quale componente di applicazione che stai mostrando le notifiche.

    In caso di ricevitore broadcast è ansible creare una class interna anonima per ricevitore di trasmissione e registrarla dynamicmente prima di mostrare la notifica. Sembra qualcosa di simile:

     public class NotificationHelper { private static final String NOTIFICATION_DELETED_ACTION = "NOTIFICATION_DELETED"; private final BroadcastReceiver receiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { aVariable = 0; // Do what you want here unregisterReceiver(this); } }; public void showNotification(Context ctx, String text) { Intent intent = new Intent(NOTIFICATION_DELETED_ACTION); PendingIntent pendintIntent = PendingIntent.getBroadcast(ctx, 0, intent, 0); registerReceiver(receiver, new IntentFilter(NOTIFICATION_DELETED_ACTION)); Notification n = new Notification.Builder(mContext). setContentText(text). setDeleteIntent(pendintIntent). build(); NotificationManager.notify(0, n); } } 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.