Я разрабатываю менеджер событий. Есть события с датой / временем начала и окончания.
Мне нужно реализовать возможность вставлять события из приложения в календарь Android.
Вот код, который я написал:
val startMillis: Long = 1555406400000
val endMillis: Long = 1555499400000
val name = "Event"
val description = "Awesome event"
val allDay = false
val values = ContentValues().apply {
put(CalendarContract.Events.DTSTART, startMillis)
put(CalendarContract.Events.DTEND, endMillis)
put(CalendarContract.Events.TITLE, name)
put(CalendarContract.Events.DESCRIPTION, description)
put(CalendarContract.Events.ALL_DAY, allDay)
put(CalendarContract.Events.CALENDAR_ID, 3) //Don't know why `3`, just copied from some example from inthernet
put(CalendarContract.Events.EVENT_TIMEZONE, ZonedDateTime.now().zone.id)
}
val contentUri = CalendarContract.Events.CONTENT_URI
activity.contentResolver.insert(contentUri, values)
Этот код отлично работает на устройстве Android 5.0 (событие отображается в приложении календаря), но не работает на устройстве 7.0. WRITE_CALENDAR
и READ_CALENDAR
разрешения предоставляются.
Что не так с моим кодом? Почему это не работает на Android 7.0?