我正在将日历事件添加到后台。
我可以成功添加活动,但并非始终如此。
有时,事件显示正确,事件uri返回正确的ID,但有时我会使用相同的ID消息说“找不到事件”来意图查看该事件。并显示以下时间。
虽然手动打开日历并检查添加的事件却什么也没显示,但有时仅显示生日事件,如下所示
一段时间(大约30到50秒)后,当我打开日历再次检查事件时,事件会自动删除。参考快照
下面我在后台添加事件的代码
val llStartMillis: Long = Common.getDateTimeLong(foEventInfo.event_datetime) - Constants.DaysInMillis.HOURS
val llEndMillis: Long = Common.getDateTimeLong(foEventInfo.event_datetime)
Log.i(TAG, "Event start times in milli = " + llStartMillis)
Log.i(TAG, "Event end times in milli = " + llEndMillis)
val loContentValues = ContentValues().apply() {
put(CalendarContract.Events.DTSTART, llStartMillis)
put(CalendarContract.Events.DTEND, llEndMillis)
put(CalendarContract.Events.TITLE, foEventInfo.event_name)
put(CalendarContract.Events.DESCRIPTION, foEventInfo.event_desc)
put(CalendarContract.Events.CALENDAR_ID, 3)
Log.i(TAG, "TimeZone = " + TimeZone.getDefault().id)
put(CalendarContract.Events.EVENT_TIMEZONE, TimeZone.getDefault().id)
}
val uri: Uri? = getActivityContext()?.contentResolver?.insert(CalendarContract.Events.CONTENT_URI, loContentValues)
// get the event ID that is the last element in the Uri
val eventID: Long = uri?.lastPathSegment?.toLong() ?: -1
Log.i(TAG, "Event ID = " + eventID)
// Check event by id using an intent.
val uriss: Uri =
ContentUris.withAppendedId(CalendarContract.Events.CONTENT_URI, eventID)
val intent = Intent(Intent.ACTION_VIEW).setData(uriss)
getActivityContext()!!.startActivity(intent)
这里foEventInfo
是我的模型类,值不为null。
日志显示如下。
Event start times in milli = 1540877400000
Event end times in milli = 1540881000000
TimeZone = Asia/Kolkata
Event ID = 643
我在使用上述代码时遇到以下问题。
1。有时没有添加活动。
2。添加或删除事件后,会自动(约30秒)将其删除。
3。活动显示为生日
语言我会用很少的纯净语言,因为我很困惑如何解释,所以请忽略语法。
任何人都可以帮助解决代码问题吗?现在真的很恐慌。