我想在内部 Android 日历和我的应用程序之间进行同步。我正在使用从 Android API 14 开始提供的 CalendarContract。
内容提供者“com.android.calendar”的任何更改都会调用我的同步适配器的 onPerformSync(..)。但是,此时,事件的所有行都设置为 DIRTY = 0。这意味着,Google 日历同步必须将 DIRTY FLAG 设置为零,然后我的同步适配器才能访问它们。
CalendarContract.EventsColumns.SYNC_DATA1 - SYNCDATA10 被称为内容提供者的列,用于同步适配器。有谁知道这些列的用途是否有一些约定?我已经意识到在我的设备上 SYNC_DATA5 存储了上次修改的日期,而 SYNC_DATA1 似乎存储了 Google 事件 ID。因此,每当日历应用程序与 Google 日历同步时,这些列似乎都会被修改。
但是,如果我选择为我的同步适配器使用这些列之一,我如何确保另一个应用程序不使用相同的列并且它们相互覆盖?
如果谷歌日历总是使用 SYNC_DATA5 来存储上次修改的日期,我可以将它用于我的同步逻辑,我只需要确定这是一个约定。