2012-06-27 68 views
0

我正在研究涉及使用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來說已經足夠接近了。

回答

0

問題解決:

與谷歌日曆帳戶以上的作品,但不通過Exchange連接正確同步。

+0

嗨,只是想知道你是否可以闡明我的問題。我爲2.3.3和4.0創建了一個日曆SyncAdapter。因此,用戶將在其設備上爲我的應用創建帳戶,並將日曆/活動與其帳戶(不是Google帳戶)相關聯。使用邀請創建活動時,保存後會顯示一條消息:「將發送邀請」,但沒有發送任何消息。無論如何,我的應用程序發送這些電子郵件?我知道它適用於Google帳戶。 –