Добавление события в календарь устройства, добавление события невидимым или отображение неверных данных. - PullRequest
0 голосов
/ 23 октября 2018

Я работаю с добавлением события календаря в фоновом режиме.

Я могу добавить событие успешно, но не всегда.

Иногда событие отображается правильно, событие возвращает правильный идентификатор, но иногда я использую намерение просмотреть это событие, используя то же самое сообщение идентификатора, скажем, событие не найдено.и некоторое время отображается, как показано ниже.

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 - моя моделькласс и значение не ноль.Отображение журнала, как показано ниже.

Event start times in milli = 1540877400000
Event end times in milli = 1540881000000
TimeZone = Asia/Kolkata
Event ID = 643

У меня ниже Проблемы с использованием вышеуказанного кода.

1.Событие иногда не добавляется.

2.Событие добавляется, но удаляется через некоторое время автоматически (около 30 секунд).

3.Отображение события как день рождения

Язык, который я использую немного чистым, так как я в замешательстве, как объяснить, поэтому, пожалуйста, игнорируйте грамматику.

Может ли кто-нибудь помочь с проблемойкод.сейчас действительно паника.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...