[英]is there a persistent key for calendar events
我的應用程序需要將信息與日歷事件相關聯。 為此,它需要為每個事件提供一個永久性的ID,以便它可以在事件的時間更改時跟蹤事件或檢測事件的刪除時間。
另外,我想要一個日歷固有的ID,而不僅僅是在特定設備上唯一的ID,因此如果我的應用程序在其他android設備甚至其他平台上運行,則很有用。
我看過_ID和_SYNC_ID。 它看起來既是唯一的,又在特定設備上是持久的,而在所有設備上都不一樣。 我想要的鍵是本機事件鍵,來自它所屬的日歷。 例如,對於一個Outlook事件,我想我需要Outlook的鑰匙。
Calendar API是否提供這樣的密鑰? 如果不是,是否有獲取我正在尋找的本機密鑰的工具?
謝謝。
據我所知,Event_ID具有持久性。 它是PK,因此除非刪除行后再使用PK,否則它應該是可靠的。 唯一的例外是用戶清除日歷數據庫並重新同步。 我認為,在那種情況下,所有PK都是全新的。
這是CalendarDatabaseHelper.java的一些源代碼,顯示Event._ID是PK:
db.execSQL("CREATE TABLE Events (" +
"_id INTEGER PRIMARY KEY," +
ACCOUNT_NAME + " TEXT," +
ACCOUNT_TYPE + " TEXT," +
"_sync_id TEXT," +
"_sync_version TEXT," +
"_sync_time TEXT," + // UTC
"_sync_local_id INTEGER," +
"_sync_dirty INTEGER," +
"_sync_mark INTEGER," + // To filter out new rows
"calendar_id INTEGER NOT NULL," +
"htmlUri TEXT," +
"title TEXT," +
"eventLocation TEXT," +
"description TEXT," +
"eventStatus INTEGER," +
"selfAttendeeStatus INTEGER NOT NULL DEFAULT 0," +
"commentsUri TEXT," +
"dtstart INTEGER," + // millis since epoch
"dtend INTEGER," + // millis since epoch
"eventTimezone TEXT," + // timezone for event
"duration TEXT," +
"allDay INTEGER NOT NULL DEFAULT 0," +
"visibility INTEGER NOT NULL DEFAULT 0," +
"transparency INTEGER NOT NULL DEFAULT 0," +
"hasAlarm INTEGER NOT NULL DEFAULT 0," +
"hasExtendedProperties INTEGER NOT NULL DEFAULT 0," +
"rrule TEXT," +
"rdate TEXT," +
"exrule TEXT," +
"exdate TEXT," +
"originalEvent TEXT," + // _sync_id of recurring event
"originalInstanceTime INTEGER," + // millis since epoch
"originalAllDay INTEGER," +
"lastDate INTEGER," + // millis since epoch
"hasAttendeeData INTEGER NOT NULL DEFAULT 0," +
"guestsCanModify INTEGER NOT NULL DEFAULT 0," +
"guestsCanInviteOthers INTEGER NOT NULL DEFAULT 1," +
"guestsCanSeeGuests INTEGER NOT NULL DEFAULT 1," +
"organizer STRING," +
"deleted INTEGER NOT NULL DEFAULT 0," +
"dtstart2 INTEGER," + //millis since epoch, allDay events in local timezone
"dtend2 INTEGER," + //millis since epoch, allDay events in local timezone
"eventTimezone2 TEXT," + //timezone for event with allDay events in local timezone
"syncAdapterData TEXT" + //available for use by sync adapters
");");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.