android developer tiny share-20170615

来源:互联网 发布:单片机密码锁程序 编辑:程序博客网 时间:2024/06/03 17:30

今天继续讲android的Calendar ContentProvider,讲通过Intent来实现查询、修改、插入操作。之前都是直接访问日历相关的ContentProvider,这样可以更加灵活控制,但是,也增加了复杂性,并且,需要声明读取和写入日历数据的权限。

以下是android developer官网的讲解:


日历 Intent


您的应用不需要读取和写入日历数据的权限。它可以改用 Android 的日历应用支持的 Intent 将读取和写入操作转到该应用执行。下表列出了日历提供程序支持的 Intent:

操作URI说明ExtraVIEWcontent://com.android.calendar/time/<ms_since_epoch>

您还可以通过 CalendarContract.CONTENT_URI 引用 URI。如需查看使用该 Intent 的示例,请参阅使用 Intent 查看日历数据。打开日历后定位到 <ms_since_epoch> 指定的时间。无。VIEWcontent://com.android.calendar/events/<event_id>

您还可以通过 Events.CONTENT_URI 引用 URI。如需查看使用该 Intent 的示例,请参阅使用 Intent 查看日历数据。查看 <event_id> 指定的事件。CalendarContract.EXTRA_EVENT_BEGIN_TIME

CalendarContract.EXTRA_EVENT_END_TIMEEDITcontent://com.android.calendar/events/<event_id>

您还可以通过 Events.CONTENT_URI 引用 URI。如需查看使用该 Intent 的示例,请参阅使用 Intent 编辑事件。编辑 <event_id> 指定的事件。CalendarContract.EXTRA_EVENT_BEGIN_TIME

CalendarContract.EXTRA_EVENT_END_TIMEEDIT

INSERTcontent://com.android.calendar/events

您还可以通过 Events.CONTENT_URI 引用 URI。如需查看使用该 Intent 的示例,请参阅使用 Intent 插入事件。创建事件。下表列出的任一 Extra。

下表列出了日历提供程序支持的 Intent Extra:

Intent Extra说明Events.TITLE事件的名称。CalendarContract.EXTRA_EVENT_BEGIN_TIME事件开始时间,以从公元纪年开始计算的毫秒数表示。CalendarContract.EXTRA_EVENT_END_TIME事件结束时间,以从公元纪年开始计算的毫秒数表示。CalendarContract.EXTRA_EVENT_ALL_DAY一个布尔值,表示事件属于全天事件。值可以是 true 或 false。Events.EVENT_LOCATION事件的地点。Events.DESCRIPTION事件描述。Intent.EXTRA_EMAIL逗号分隔值形式的受邀者电子邮件地址列表。Events.RRULE事件的重复发生规则。Events.ACCESS_LEVEL事件是私人性质还是公共性质。Events.AVAILABILITY将此事件视为忙碌时间还是可调度的空闲时间。

下一节描述如何使用这些 Intent。


原创粉丝点击