CalendarContract.Events Android 查询所有的本地日程id 包括重复事件
时间: 2024-03-09 19:51:27 浏览: 111
如果您希望查询所有本地日历中的重复事件(如重复的每周会议或每月生日等),则需要查询 `CalendarContract.Instances` 表而不是 `CalendarContract.Events` 表。以下是一个查询所有本地日历中的重复事件的示例代码:
```
String[] projection = new String[] {CalendarContract.Instances._ID};
long now = System.currentTimeMillis();
Cursor cursor = getContentResolver().query(CalendarContract.Instances.CONTENT_URI,
projection,
CalendarContract.Instances.BEGIN + " <= ? AND " + CalendarContract.Instances.END + " >= ? AND " + CalendarContract.Instances.DELETED + " = 0",
new String[] {String.valueOf(now), String.valueOf(now)},
null);
while (cursor.moveToNext()) {
long eventId = cursor.getLong(cursor.getColumnIndex(CalendarContract.Instances._ID));
// 处理每个日程事件的ID
}
cursor.close();
```
此查询将返回所有现在正在进行或将来进行的重复事件的 ID。如果您想要查询所有事件(包括已经过去的事件),则可以将 `now` 变量替换为一个较早的日期。请注意,此查询仅返回未删除的事件。如果您想要查询已删除的事件,请将查询中的“selection”参数设置为“CalendarContract.Instances.DELETED = 1”。
阅读全文