#android #android-intent #android-calendar
Вопрос:
Я использовал следующий код для вставки события в календарь:
fun addToCalenderAction(ctx: Context, session: ItemSession) {
val intent = Intent(Intent.ACTION_INSERT).apply {
data = CalendarContract.Events.CONTENT_URI
putExtra(CalendarContract.Events.TITLE, session.title ?: "AA")
putExtra(CalendarContract.Events.EVENT_LOCATION, session.location
?: "Egypt, ALex, ST23")
putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, parseTimeOfFirebase(session.startTime
?: "2021-05-31T19:56:22.636 0000"))
putExtra(CalendarContract.EXTRA_EVENT_END_TIME, parseTimeOfFirebase(session.endTime
?: "2021-05-31T21:56:22.636 0000"))
}
if (intent.resolveActivity(ctx.packageManager) != null) {
(ctx as? Activity)?.let {
it.startActivityForResult(intent, REQUEST_CODE_ADD_EVENT)
}
}
}
Я привык it.startActivityForResult(intent, REQUEST_CODE_ADD_EVENT)
знать состояние действия, но я получаю тот же результат в случае добавления, а также в случае, если пользователь отклоняет событие добавления.
Примечание:
В случае успеха добавьте в систему тост с текстом «Событие создано».