android developer tiny share-20170615

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

以下是android developer官网的讲解:


日历 Intent


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

操作URI说明Extra
VIEWcontent://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_TIME
EDITcontent://com.android.calendar/events/<event_id>

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

CalendarContract.EXTRA_EVENT_END_TIME
EDIT

INSERT
content://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。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值