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