title: How to detect if a notification has been dismissed?
body: <p>Is there any way in Android to detect when a user swipes a notification to the left and deletes it? I'm using an alarmmanager to set a repeating alert and I need my repeating alert to stop when the notification is cancelled by the user. Here's my code:</p>
  
  <p><strong>Setting the repeating alert:</strong></p>
  
  <pre><code>AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
  alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), repeatFrequency, displayIntent);
  </code></pre>
  
  <p><strong>My notification code:</strong></p>
  
  <pre><code>@Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
  
      //Get the notification ID.
      int notifID = getIntent().getExtras().getInt("Reminder_Primary_Key");
  
      //Get the name of the reminder.
      String reminderName = getIntent().getExtras().getString("Reminder_Name");
  
      //PendingIntent stores the Activity that should be launched when the user taps the notification.
      Intent i = new Intent(this, ViewLocalRemindersDetail.class);
      i.putExtra("NotifID", notifID);
      i.putExtra("notification_tap", true);
  
      //Add FLAG_ACTIVITY_NEW_TASK to stop the intent from being launched when the notification is triggered.
      PendingIntent displayIntent = PendingIntent.getActivity(this, notifID, i, Intent.FLAG_ACTIVITY_NEW_TASK);
  
      NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
      Notification notif = new Notification(R.drawable.flag_red_large, reminderName, System.currentTimeMillis());
  
      CharSequence from = "Here's your reminder:";
  
      CharSequence message = reminderName;        
      notif.setLatestEventInfo(this, from, message, displayIntent);
  
      //Pause for 100ms, vibrate for 250ms, pause for 100ms, and vibrate for 500ms.
      notif.defaults |= Notification.DEFAULT_SOUND;
      notif.vibrate = new long[] { 100, 250, 100, 500 };
      nm.notify(notifID, notif);
  
      //Destroy the activity/notification.
      finish();
  
  }
  </code></pre>
  
  <p>I know I need to call <code>alarmManager.cancel(displayIntent)</code> in order to cancel my repeating alarm. However, I don't understand where to put this code. I need to cancel the repeating alert ONLY when the user has tapped on the notification or dismissed it. Thanks for your help!</p>