-1

In my app, the user can set multiple alarms for the same movie e.g "On release date", "A week before release", "A month before release" and now I'm stuck on cancelling a specific alarm, I know how to cancel an alarm with and movie id, but how to I cancel it with the movie id and the type. do I concatenate both together and pass it as the id to my pending intent?

Code:

    public void cancelAlarm(Context context, _Alarm alarm) {
    //Log.d(TAG, "{cancelAlarm}");
    AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
    Intent intent = new Intent(context, AlarmReceiver.class);
    PendingIntent alarmIntent = PendingIntent.getBroadcast(context, (int) alarm.getGameId(), intent, 0);
    alarmManager.cancel(alarmIntent);
}

Alarm class has the id of the movie and the type of the alarm

  • you will find your answer here [duplicated](https://stackoverflow.com/questions/16999343/android-alarm-clock-remove-alarms-programmatically) – Fady Emad Jul 25 '18 at 16:26

1 Answers1

0

do I concatenate both together and pass it as the id to my pending intent?

It seems logical.

Also you can use below way to know if your PendingIntent exists.

PendingIntent alarmIntent = PendingIntent.getBroadcast(context, requestCode,
          intent, PendingIntent.FLAG_NO_CREATE);
if (broadcast != null) {
    alarmManager.cancel(alarmIntent );
}
Bharath Kumar
  • 541
  • 3
  • 10