我在Google日历中创建了一个名为" Rec1"。
的重复事件然后在示例应用程序中查询实例表:
GregorianCalendar c = new GregorianCalendar(2000, 1, 1);
GregorianCalendar c2 = new GregorianCalendar(2050, 1, 1);
Uri.Builder builder = CalendarContract.Instances.CONTENT_URI.buildUpon();
ContentUris.appendId(builder,c.getTimeInMillis());
ContentUris.appendId(builder,c2.getTimeInMillis());
Cursor cursor2=getContentResolver().query(builder.build(),null,null,null,null);
然后我返回谷歌日历并创建一个名为" Rec2"的新重复事件。该事件已成功创建,但未显示任何内容!我查询Events
表并查看" Rec2"已创建,但如果我查询Instances
表,则最后一行是" Rec1"。
即使我卸载了示例应用,也无法再插入重复事件。无论我使用什么日历应用程序(Google日历,日出,在代码中动态创建事件,......),无论我使用什么日历(谷歌,交换,本地创建的日历......)。
似乎CalendarProvider
不再为重复事件生成实例。 (插入非重复事件仍然没问题,只是重现是问题)。
我发现恢复正常生活的唯一解决方案是删除另一个重复事件。所以如果我删除" Rec1"," Rec2"插入Instance
表格并显示在日历应用程序中!
注意:如果我重复整个方案但是在这个时间段内:
GregorianCalendar c = new GregorianCalendar(2016, 4, 1);
GregorianCalendar c2 = new GregorianCalendar(2016, 5, 1);
没有问题发生," Rec2"插入并显示,无需删除" Rec1"。
注意:我多次尝试此方案,问题出现在仿真器,Nexus 5,Nexus 5x,Sony z1 compact中,但不在Samsung Note 4中!
谢谢