在Froyo的本地安卓日历中插入过去的事件

时间:2012-10-18 18:57:16

标签: android events calendar android-2.2-froyo

目标:编写一个同步适配器,将Google日历事件与本地安卓日历同步(服务器到设备 - 仅限一种方式)。 Android版本:Froyo

调试步骤:

  1. 从Google日历中读取过去的非经常性活动(一个月前)
  2. 我在android日历(我创建的日历条目)中将其本地插入
  3. 事件已成功插入事件表中,但未创建实例表中的相应条目
  4. 我将calendarmetadata表值更新为mininstance = 0和maxinstance =“事件的结束日期(毫秒)”(在命令提示符下通过sqlite3工具)
  5. 我再次尝试在本地插入相同的事件
  6. 这次事件在事件表中成功插入,实例表中的相应条目也被创建
  7. 查看CalendarProvider.java和Calendar.java源代码并进一步探测,揭示了以下内容:

    1. 在Calendars表中插入一行后,mininstance设置为今天的日期,maxinstance将被设置为将来的7或15天,例如如果今天是19日至10月,则创建日历条目并访问日历议程活动设置mininstance = 19-Oct(毫秒)和maxinstance = 26-Oct(毫秒)。
    2. 在上面的步骤#3中,当内容提供者插入事件时,它会查看mininstance和maxinstance值以扩展并在实例表中插入给定事件的实例。由于事件开始时间位于mininstance值之前(因为事件是一个月),内容提供者不会创建相应的实例条目。
    3. 鉴于我无法直接从我的代码中写入calendarmetadata和实例表,如何在Android设备上将旧事件与我的本地日历同步为froyo版本?

0 个答案:

没有答案