特定のカレンダーのイベントを読み取るアプリを使用しています。
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);
カレンダーは Google カレンダーまたは Exchange Server メールボックスに同期されます。上記のコードを使用してイベントを取得できますが、Events.UID_2445 属性が設定されていないことに気付きました。
String uid = cur.getString(PROJECTION_UID_INDEX)); //this line always returns null
Google カレンダー データ API と Exchange Web サービスを使用して、ICAL UID 属性が設定されていることを確認しました。カレンダーの同期では、その属性が Event オブジェクトに保存されないようです。他の誰かが同じ問題を抱えていますか、それとも私が使用しているコードに何か問題がありますか? ありがとう