使用CalendarContract – Android 4.0阅读今天的所有活动

使用CalendarContract – Android 4.0阅读今天的所有活动,第1张

概述我正在尝试使用 Android的新日历API来阅读今天的所有日历活动.我无法在数据库查询中找到正确的选择,以返回所有事件.似乎所有的周期性和全天事件都不在选择范围之内.什么选择可以让我从日历api获得今天的所有事件? 这是我目前的尝试: Cursor cur = null; String selection = "((" + CalendarContract.Events.DTSTART 我正在尝试使用 Android的新日历API来阅读今天的所有日历活动.我无法在数据库查询中找到正确的选择,以返回所有事件.似乎所有的周期性和全天事件都不在选择范围之内.什么选择可以让我从日历API获得今天的所有事件?

这是我目前的尝试:

Cursor cur = null;    String selection = "((" + CalendarContract.Events.DTSTART            + " >= ?) AND (" + CalendarContract.Events.DTEND + " <= ?))";    Time t = new Time();    t.setToNow();    String dtStart = Long.toString(t.toMillis(false));    t.set(59,59,23,t.monthDay,t.month,t.year);    String dtEnd = Long.toString(t.toMillis(false));    String[] selectionArgs = new String[] { dtStart,dtEnd };    cur = c.getContentResolver().query(CalendarContract.Events.CONTENT_URI,null,selection,selectionArgs,null);

我不确定如何扩大选择或增加选择,以获得经常性事件和全天事件.任何帮助将不胜感激.

解决方法 要获得今天的所有活动,包括循环事件,您需要使用“实例”表,即
Uri.Builder eventsUriBuilder = CalendarContract.Instances.CONTENT_URI            .buildUpon();ContentUris.appendID(eventsUriBuilder,timeNow);ContentUris.appendID(eventsUriBuilder,endOfToday);Uri eventsUri = eventsUriBuilder.build();Cursor cursor = null;       cursor = mContext.getContentResolver().query(eventsUri,columns,CalendarContract.Instances.DTSTART + " ASC");

请注意,您必须将时间限制附加到事件uri,否则不能以其他方式进行排序.

为了包括所有的一天的活动,只需将搜索范围扩大到昨天晚上11:59,晚上12点.

总结

以上是内存溢出为你收集整理的使用CalendarContract – Android 4.0阅读今天的所有活动全部内容,希望文章能够帮你解决使用CalendarContract – Android 4.0阅读今天的所有活动所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1131681.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存