I create a calendar event with HAS_ALARM
set to 1
as follows:
contentResolver.insert(
Uri.parse("content://com.android.calendar/calendars"),
contentValuesOf(
CalendarContract.Events.CALENDAR_ID to calendarId,
CalendarContract.Events.TITLE to event.title,
CalendarContract.Events.EVENT_LOCATION to event.location,
CalendarContract.Events.DESCRIPTION to event.description,
CalendarContract.Events.DTSTART to event.startTimeInMillis,
CalendarContract.Events.DTEND to event.endTimeInMillis,
CalendarContract.Events.EVENT_TIMEZONE to event.zoneName,
CalendarContract.Events.HAS_ALARM to 1
)
)
Then I create a reminder for the event created above as follows:
contentResolver.insert(
Uri.parse("content://com.android.calendar/reminders"),
contentValuesOf(
CalendarContract.Reminders.EVENT_ID to it,
CalendarContract.Reminders.METHOD to CalendarContract.Reminders.METHOD_ALERT,
CalendarContract.Reminders.MINUTES to reminderTimeInMinutes
)
)
I remove the event when required like this:
contentResolver.delete(
Uri.parse("content://com.android.calendar/events"),
String.format(
"%s = ? and %s = ? and %s = ?",
CalendarContract.Events.TITLE,
CalendarContract.Events.DTSTART,
CalendarContract.Events.DTEND
),
arrayOf(event.title, event.startTimeInMillis.toString(), event.endTimeInMillis.toString())
)
However, I am unable to delete its reminder because I am not keeping event id's.
Does the reminder get automatically deleted when I delete its event? If not, how can I delete the reminder, preferably without storing any id?
It seems an event's reminders are automatically deleted when the event is deleted.