前一篇文章写的日历添加事件、删除 插入 可能不太适用于高版本的
重新写一篇记录,该代码来自于AndroidDevelopers,仅记录

如需向用户的日历添加新事件,请使用 ACTION_INSERT 操作并指定具有 Events.CONTENT_URI 的数据 URI。然后您就可以使用下文介绍的 extra 指定事件的各类详细信息。

操作
ACTION_INSERT
数据URI:
Events.CONTENT_URI
类型
“vnd.android.cursor.dir/event”
Extra
EXTRA_EVENT_ALL_DAY
一个布尔型值,指定此事件是否为全天事件。
EXTRA_EVENT_BEGIN_TIME
事件的开始时间(从新纪年开始计算的毫秒数)。
EXTRA_EVENT_END_TIME
事件的结束时间(从新纪年开始计算的毫秒数)。
TITLE
事件标题。
DESCRIPTION
事件说明。
EVENT_LOCATION
事件地点。
EXTRA_EMAIL
以逗号分隔的受邀者电子邮件地址列表。
可使用 CalendarContract.EventsColumns 类中定义的常量指定许多其他事件详细信息。

/**
     * 添加日历事件
     * @param title 日历标题
     * @param location 事件的地点
     * @param description 事件说明(要做什么)
     * @param begin 开始时间
     * @param end 结束时间
     */
    fun addEvent(
        context: Context,
        packageManager: PackageManager,
        title: String,
        description: String,
        location: String,
        begin: Long,
        end: Long
    ) {
        val intent = Intent(Intent.ACTION_INSERT).apply {
            data = CalendarContract.Events.CONTENT_URI
            putExtra(CalendarContract.Events.TITLE, title)
            putExtra(CalendarContract.Events.DESCRIPTION, description)
            putExtra(CalendarContract.Events.EVENT_LOCATION, location)
            putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, begin)
            putExtra(CalendarContract.EXTRA_EVENT_END_TIME, end)
        }
        if (intent.resolveActivity(packageManager) != null) {
            context.startActivity(intent)
        }
    }

具体其他请查看官方文档