我正在研究涉及使用Android日曆API讀取和操作數據的項目。我將使用API 14 CalendarContract和更老的設備的更可疑的未公開API來實現這一點,以實現一些向後兼容性。通過Android CalendarContract接受邀請
我目前正在玩弄數據庫,以瞭解他們是如何工作的。到現在爲止還挺好。
我發現的一個問題是,當我嘗試更改與會者狀態(用戶狀態,而不是其他任何與會者)的狀態時,似乎並未實際接受邀請事件。
例如,2個谷歌日曆帳戶我這樣做: 帳戶A被記錄在設備上 帳戶B創建活動,邀請帳戶A 事件顯示了對帳戶的設備 嘗試接受通過日曆邀請蜜蜂。
這是我努力的最後一步。
這是我做了這樣的事情:
ContentValues event = new ContentValues();
event.put("attendeeStatus", "1");//accept
Uri eventsUri = Uri.parse(getCalendarUriBase() + "attendees");
Uri eventUri = ContentUris.withAppendedId(eventsUri, id);
iNumRowsUpdated = getContentResolver().update(eventUri, event, null, null);
這成功地更新attendeeStatus 1在數據庫中。
但是,這不會更新他們的實際出席人數。所以我的問題是,數據庫模式中是否有另一個用於此目的的字段?還是有更好/更有效的解決方案?和/或是否可以強制執行此操作,然後與Google日曆系統重新同步,以便我可以看到帳戶A已接受帳戶B的Google日曆帳戶?
值得指出的是,我曾嘗試以下:
getContentResolver().notifyChange(eventUri, null);
getContentResolver().notifyChange(eventsUri, null);
這並沒有幫助。
注意:上述代碼特別針對4.0版以前的設備,但對於ICS來說已經足夠接近了。
嗨,只是想知道你是否可以闡明我的問題。我爲2.3.3和4.0創建了一個日曆SyncAdapter。因此,用戶將在其設備上爲我的應用創建帳戶,並將日曆/活動與其帳戶(不是Google帳戶)相關聯。使用邀請創建活動時,保存後會顯示一條消息:「將發送邀請」,但沒有發送任何消息。無論如何,我的應用程序發送這些電子郵件?我知道它適用於Google帳戶。 –