4

我正在开发一个读取给定日历事件的应用程序。

    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 对象中。有没有其他人有同样的问题,或者你发现我使用的代码有什么问题?谢谢

4

0 回答 0