Android 三星日历不删除事件

Android 三星日历不删除事件,android,android-calendar,Android,Android Calendar,我创建日历并将事件插入其中。然后用三星日历删除后,事件未被删除,但标记为已删除。当我尝试插入具有相同id的事件时,eventUri为空,并且事件不会显示在日历中。此问题仅出现在三星设备上 创建日历: private fun createLocalCalendar(calendarName: String): String { val uri = createCalendarUri(calendarName) val values = createCalendarValues(ca

我创建日历并将事件插入其中。然后用三星日历删除后,事件未被删除,但标记为已删除。当我尝试插入具有相同id的事件时,
eventUri
为空,并且事件不会显示在日历中。此问题仅出现在三星设备上

创建日历:

private fun createLocalCalendar(calendarName: String): String {
    val uri = createCalendarUri(calendarName)
    val values = createCalendarValues(calendarName)
    return contentResolver.insert(uri, values).lastPathSegment
}

private fun createCalendarValues(calendarName: String) = ContentValues().apply {
    put(CalendarContract.Calendars.ACCOUNT_NAME, calendarName)
    put(CalendarContract.Calendars.ACCOUNT_TYPE, CalendarContract.ACCOUNT_TYPE_LOCAL)
    put(CalendarContract.Calendars.NAME, calendarName)
    put(CalendarContract.Calendars.CALENDAR_DISPLAY_NAME, calendarName)
    put(CalendarContract.Calendars.OWNER_ACCOUNT, calendarName)
    put(CalendarContract.Calendars.CALENDAR_TIME_ZONE, TimeZone.getDefault().id)
    put(
        CalendarContract.Calendars.CALENDAR_ACCESS_LEVEL,
        CalendarContract.Calendars.CAL_ACCESS_OWNER
    )
}

private fun createCalendarUri(calendarName: String) =
    CalendarContract.Calendars.CONTENT_URI.buildUpon().apply {
        appendQueryParameter(CalendarContract.Calendars.ACCOUNT_NAME, calendarName)
        appendQueryParameter(CalendarContract.CALLER_IS_SYNCADAPTER, "true")
        appendQueryParameter(
            CalendarContract.Calendars.ACCOUNT_TYPE,
            CalendarContract.ACCOUNT_TYPE_LOCAL
        )
    }.build()
val eventUri = contentResolver.insert(CalendarContract.Events.CONTENT_URI, eventValues)
创建事件:

val eventValues = createCalendarEventValues(calendarId, event)

private fun createCalendarEventValues(calendarId: String) =
    ContentValues().apply {
        put(CalendarContract.Events.CALENDAR_ID, calendarId)
        put(CalendarContract.Events._ID, "123")
        put(CalendarContract.Events.TITLE, "title")
        put(CalendarContract.Events.HAS_ALARM, 1)
        put(CalendarContract.Events.EVENT_TIMEZONE, TimeZone.getDefault().id)
        put(
            CalendarContract.Events.DTSTART,
            Calendar.getInstance().run {
                set(2019, 10, 11, 7, 30)
                timeInMillis
            }
        )
        put(
            CalendarContract.Events.DTEND,
            Calendar.getInstance().run {
                set(2019, 10, 11, 8, 30)
                timeInMillis
            }
        )
    }
将事件插入日历:

private fun createLocalCalendar(calendarName: String): String {
    val uri = createCalendarUri(calendarName)
    val values = createCalendarValues(calendarName)
    return contentResolver.insert(uri, values).lastPathSegment
}

private fun createCalendarValues(calendarName: String) = ContentValues().apply {
    put(CalendarContract.Calendars.ACCOUNT_NAME, calendarName)
    put(CalendarContract.Calendars.ACCOUNT_TYPE, CalendarContract.ACCOUNT_TYPE_LOCAL)
    put(CalendarContract.Calendars.NAME, calendarName)
    put(CalendarContract.Calendars.CALENDAR_DISPLAY_NAME, calendarName)
    put(CalendarContract.Calendars.OWNER_ACCOUNT, calendarName)
    put(CalendarContract.Calendars.CALENDAR_TIME_ZONE, TimeZone.getDefault().id)
    put(
        CalendarContract.Calendars.CALENDAR_ACCESS_LEVEL,
        CalendarContract.Calendars.CAL_ACCESS_OWNER
    )
}

private fun createCalendarUri(calendarName: String) =
    CalendarContract.Calendars.CONTENT_URI.buildUpon().apply {
        appendQueryParameter(CalendarContract.Calendars.ACCOUNT_NAME, calendarName)
        appendQueryParameter(CalendarContract.CALLER_IS_SYNCADAPTER, "true")
        appendQueryParameter(
            CalendarContract.Calendars.ACCOUNT_TYPE,
            CalendarContract.ACCOUNT_TYPE_LOCAL
        )
    }.build()
val eventUri = contentResolver.insert(CalendarContract.Events.CONTENT_URI, eventValues)

那么jquery呢?jquery呢?