前一篇文章写的日历添加事件、删除 插入 可能不太适用于高版本的
重新写一篇记录,该代码来自于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)
}
}
具体其他请查看官方文档