Android 获取本地日程的实例 CalendarContract.Instances 获取一个月之内的demo
时间: 2024-03-09 22:50:43 浏览: 69
好的,下面是一个获取一个月之内的本地日程实例的示例代码:
```
// 定义要查询的日历事件的列
String[] INSTANCE_PROJECTION = {
CalendarContract.Instances.EVENT_ID,
CalendarContract.Instances.BEGIN,
CalendarContract.Instances.TITLE
};
// 获取当前时间
long now = System.currentTimeMillis();
// 获取一个月之后的时间
Calendar c = Calendar.getInstance();
c.setTimeInMillis(now);
c.add(Calendar.MONTH, 1);
long end = c.getTimeInMillis();
// 查询从现在开始一个月内的日历事件
Cursor cur = null;
ContentResolver cr = getContentResolver();
Uri uri = CalendarContract.Instances.CONTENT_URI;
// 开始查询
cur = cr.query(uri, INSTANCE_PROJECTION,
CalendarContract.Instances.BEGIN + " >= ? and " + CalendarContract.Instances.BEGIN + " <= ?",
new String[] {""+now, ""+end},
CalendarContract.Instances.BEGIN + " ASC");
// 遍历结果集
while (cur.moveToNext()) {
// 获取事件ID、开始时间和标题
long eventID = cur.getLong(0);
long begin = cur.getLong(1);
String title = cur.getString(2);
// 处理日历事件
// ...
}
// 关闭游标
cur.close();
```
这段代码会查询从当前时间开始一个月内的日历事件,并且会返回事件ID、开始时间和标题。开发者可以根据需要修改查询条件和查询的列。
阅读全文