我正在开发一个读取给定日历事件的应用程序。
public static final String[] EVENT_PROJECTION = new String[] {
Events._ID, // 0
Events.UID_2445, //1
Events.DTSTART, // 2
Events.DTEND }; // 3
// The indices for the projection array above.
private static final int PROJECTION_ID_INDEX = 0;
private static final int PROJECTION_UID_INDEX = 1;
...
ContentResolver contentResolver = ctx.getContentResolver();
Uri uri = Events.CONTENT_URI;
Cursor cur = contentResolver.query(uri,
EVENT_PROJECTION, Events.CALENDAR_ID + " = ?",
new String[] { String.valueOf(calendarId) }, null);
日历与谷歌日历或 Exchange Server 邮箱同步。我可以使用上面的代码获取事件,但我注意到 Events.UID_2445 属性从未填充。
String uid = cur.getString(PROJECTION_UID_INDEX)); //this line always returns null
使用谷歌日历数据 API 和交换网络服务,我已经确认它填充了 ICAL UID 属性。看起来日历同步不会将该属性存储在 Event 对象中。有没有其他人有同样的问题,或者你发现我使用的代码有什么问题?谢谢