В моем приложении для Android у меня есть код для записи, обновления и удаления событий из/в календари.Получить и фильтровать события из Календаря Google
Теперь я хочу получить некоторые события из календаря, но я не знаю идентификаторов событий. Я хочу фильтровать события по названию, описанию или любому другому значению.
Как я могу это сделать?
Мой код:
public static void getEvents(Activity mContext) {
Uri.Builder builder = Uri.parse("content://com.android.calendar/instances/when").buildUpon();
long now = new Date().getTime();
ContentUris.appendId(builder, now - DateUtils.DAY_IN_MILLIS * 10000);
ContentUris.appendId(builder, now + DateUtils.DAY_IN_MILLIS * 10000);
String selection = "((calendar_id = ?) AND (description LIKE ?))";
String[] selectionArgs = new String[] {""+id, "'%abc%'"};
Cursor eventCursor = contentResolver.query(builder.build(),
new String[] { "title", "begin", "end", "allDay", "description"},
selection, selectionArgs,
"startDay ASC, startMinute ASC");
while (eventCursor.moveToNext()) {
String eventTitle = eventCursor.getString(0);
String description = eventCursor.getString(4);
}
}
Когда фильтр календарным ид только - это работает, и я получаю все события в этом календаре. Когда я пытаюсь добавить «И описание =?» - я получаю 0 событий, хотя я знаю, что в их описании есть события со строкой.