私のアプリでは、2つのカレンダーを使用CalendarContract.Events.CALENDAR_ID = 1
していCalendarContract.Events.CALENDAR_ID = 2
ます.
ユーザーがアプリで両方のカレンダーのイベントを表示することを選択した場合、何らかの方法で両方のカレンダーのイベントをカーソルに取得する必要があります。
次のコードのように試してみました。ここでは、両方の calendarIds を で選択しましたOR
が、信じられないほどの数のイベントが表示されます。
私の質問は、2 つのカレンダーのイベントでカーソルを取得する方法です。
String[] projection = { CalendarContract.Events._ID,
CalendarContract.Events.CALENDAR_ID,
CalendarContract.Events.TITLE,
CalendarContract.Events.DESCRIPTION,
CalendarContract.Events.DTSTART, CalendarContract.Events.DTEND,
CalendarContract.Events.DURATION,
CalendarContract.Events.DELETED };
SelectionArgs = new String[] { strCalendarStart,
strCalendarStop, "0",
intPrivateCalendarId.toString(),
intBeruflicheCalendarId.toString() };
selection = "((" + CalendarContract.Events.DTSTART + " >= ?) AND ("
+ CalendarContract.Events.DTEND + " <= ?)AND " + "("
+ CalendarContract.Events.DELETED + " = ?) AND"
+ "(" + CalendarContract.Events.CALENDAR_ID
+ " = ?) OR" + "("
+ CalendarContract.Events.CALENDAR_ID + " = ?))";
Cursor curCalendar = cr.query( CalendarContract.Events.CONTENT_URI,
projection, selection, SelectionArgs,
CalendarContract.Events.DTSTART + " ASC" );