通过Android CalendarContract接受邀请

时间:2012-06-27 14:45:38

标签: android calendar

我正在开展一个涉及使用Android日历API读取和操作数据的项目。我将使用API​​ 14 CalendarContract执行此操作,以及针对旧设备的更可疑的未记录的API,以实现一些向后兼容性。

我目前正在玩数据库,以了解它们的工作原理。到现在为止还挺好。

我发现的一个问题是,当我试图更改与会者的状态(用户的状态,而不是其他任何与会者的状态)时,这似乎并未真正接受对该事件的邀请

例如,使用2个Google日历帐户,我执行此操作: 帐户A已登录设备 帐户B创建活动并邀请帐户A. 事件显示在帐户A设备上 尝试通过日历API接受邀请。

这是我正在努力的最后一步。

这是我正在做的事情:

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来说差不多相同。

1 个答案:

答案 0 :(得分:0)

问题解决了:

以上内容适用于Google日历帐户,但无法通过Exchange连接正确同步。