使用内容提供程序添加的事件未保存

问题描述 投票:0回答:1

我尝试使用以下代码将日历事件添加到 Android 日历:

fun insertEvent(event: CalendarEvent): Uri? {
    val contentResolver = context.contentResolver
    val values = ContentValues()
    values.put(CalendarContract.Events.DTSTART, event.startTimeStamp)
    values.put(CalendarContract.Events.DTEND, event.endTimeStamp)
    values.put(CalendarContract.Events.TITLE, event.title)
    values.put(CalendarContract.Events.DESCRIPTION, event.location)
    values.put(CalendarContract.Events.CALENDAR_ID, event.calendarId)
    values.put(CalendarContract.Events.EVENT_TIMEZONE, event.timeZone.id)
        
    return contentResolver.insert(CalendarContract.Events.CONTENT_URI, values)
}

当我使用它时,我收到返回的 URI,但无法在 Google 日历或 aCalendar 等日历应用程序中看到它。使用调试器验证

contentValues
都具有正确的数据。

我的应用程序请求这些权限:

<uses-permission android:name="android.permission.WRITE_CALENDAR" />
<uses-permission android:name="android.permission.READ_CALENDAR" />

它们在应用程序信息中启用。

android kotlin android-contentresolver android-calendar
1个回答
0
投票

问题是,我使用了 unix-Timestamps 而不是毫秒,所以这些事件对于 Android 来说太旧了。

© www.soinside.com 2019 - 2024. All rights reserved.