日历返回重复的假日事件

时间:2017-10-25 18:53:55

标签: android calendar google-calendar-api android-calendar

我发现,当有两个帐户链接到他们的设备,并且两个帐户正在同步他们的日历,并且两个帐户都设置为显示Google假日日历,那么`CalendarContract.Instances`将返回每个假期两次,每个日历一次。因此,在这种情况下,您会看到大多数日历应用程序(Google日历除外)将每个日历显示两次假日。

我查看了底层的Sqlite数据库,在`Calendar`表中,每个假日日历都有一个单独的行,具有不同的ID。在`Events`表和`instances`表中,每个假日有2行,每个日历有一行,具有不同的ID。所以`CalendarContract.Instances`正在返回预期的结果。

问题是,Google日历如何避免这种情况?它是通过比较allDay事件的标题而不显示重复项来实现的吗?听起来很危险。有什么想法吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

我通过更改基础数据库中的标题做了一些黑客行为,然后谷歌日历应用确实显示了该事件两次。很明显,谷歌应用程序只是比较细节(在代码或查询中),而不是显示看起来像重复的细节。