CalendarContract иногда возвращает нулевые значения
У меня проблема с курсором календаря. Иногда при запросе данных для событий календаря, участников или просто деталей календаря курсор возвращает нулевые значения.
пример
Объявить календарь посетителя курсора
val projection = arrayOf(
CalendarContract.Attendees.ATTENDEE_ID,
CalendarContract.Attendees.ATTENDEE_EVENT_ID,
CalendarContract.Attendees.ATTENDEE_NAME,
CalendarContract.Attendees.ATTENDEE_EMAIL,
CalendarContract.Attendees.ATTENDEE_RELATIONSHIP,
CalendarContract.Attendees.ATTENDEE_TYPE,
CalendarContract.Attendees.ATTENDEE_STATUS)
val attendeesCursor =
context.contentResolver.query(CalendarContract.Attendees.CONTENT_URI,
projection,
CalendarContract.Attendees.EVENT_ID + "=?",
arrayOf(eventId.toString()), // eventiId is sent as param
null
)
if (attendeesCursor != null && attendeesCursor.isBeforeFirst) {
attendeesCursor.moveToFirst()
}
return attendeesCursor
Предоставить информацию о посетителях
val attendee = EventAttendee(
cursor.getLong(cursor.getColumnIndex(CalendarContract.Attendees.ATTENDEE_ID)),
cursor.getLong(cursor.getColumnIndex(CalendarContract.Attendees.ATTENDEE_EVENT_ID)),
cursor.getString(cursor.getColumnIndex(CalendarContract.Attendees.ATTENDEE_NAME)) ?,
cursor.getString(cursor.getColumnIndex(CalendarContract.Attendees.ATTENDEE_EMAIL)),
cursor.getInt(cursor.getColumnIndex(CalendarContract.Attendees.ATTENDEE_RELATIONSHIP)),
cursor.getInt(cursor.getColumnIndex(CalendarContract.Attendees.ATTENDEE_TYPE)),
cursor.getInt(cursor.getColumnIndex(CalendarContract.Attendees.ATTENDEE_STATUS))
)
Иногда некоторые детали Attendee являются нулевыми... Я не знаю почему...
Как это возможно? Как этого избежать?