将事件添加到设备日历,添加事件不可见或显示错误数据

时间:2018-10-23 12:05:56

标签: android events kotlin calendar

我正在将日历事件添加到后台。

我可以成功添加活动,但并非始终如此。

有时,事件显示正确,事件uri返回正确的ID,但有时我会使用相同的ID消息说“找不到事件”来意图查看该事件。并显示以下时间。

enter image description here

虽然手动打开日历并检查添加的事件却什么也没显示,但有时仅显示生日事件,如下所示

enter image description here

一段时间(大约30到50秒)后,当我打开日历再次检查事件时,事件会自动删除。参考快照

enter image description here

下面我在后台添加事件的代码

      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。活动显示为生日

语言我会用很少的纯净语言,因为我很困惑如何解释,所以请忽略语法。

任何人都可以帮助解决代码问题吗?现在真的很恐慌。

0 个答案:

没有答案