是Android"独特"如果远程删除日历,是否会重复使用Calendars._ID值?

时间:2015-12-03 18:39:34

标签: android calendar

使用日历提供程序API引发了一些关于Android提供的唯一_ID列的问题。

此列似乎是查询日历的主要和首选方式,但也指定应在哪个日历上创建事件。

我们似乎发现,如果远程删除日历并且删除是同步的,则这些_ID值实际上已被回收(无AUTOINCREMENT)。未来的日历可能会被赋予旧日历_ID

例如,如果我们有:

_ID, DISPLAY_NAME
1, "First Calendar"
2, "Second Calendar"
3, "Third Calendar"

然后我们删除"第三个日历"在calendar.google.com。我们在Android上重新同步。然后我们添加"第四个日历"在calendar.google.com。我们在Android上重新同步。

现在我们有:

_ID, DISPLAY_NAME
1, "First Calendar"
2, "Second Calendar"
3, "Fourth Calendar"

让我们在我们SharedPreference中说出我们已经存储了对第三个日历的引用"通过_ID的{​​{1}}。

如果我们要在该日历上进行创建和活动,我们就会在错误的日历上进行操作而不知道它。

这种行为是记录在案还是众所周知的,如果是真的,我们怎样才能安全地在我们的应用程序中存储对日历的引用,而以后它可能不是一个完全不同的日历?

Android文档,供参考: http://developer.android.com/intl/es/guide/topics/providers/calendar-provider.html#calendar

0 个答案:

没有答案