安卓日历同步的一些要点

Posted 淡然为之 坦然受之 泰然处之 奋然斗之

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓日历同步的一些要点相关的知识,希望对你有一定的参考价值。

1)API接口

android.content.ContentProvider

android.content.ContentResolver

android.provider.CalendarContract

另外,在创建日历账号时(向系统的Calendars表插入一条数据)需要设置为适配器模式,具体可以查看CalendarContract帮助。

 

2)周期规则字符串RRULE

RRULE的具体组成可以参考RFC5545,但是需要特别指出的是,Android系统并不是百分百支持该标准,只支持基本功能的标签(等号联系起来的键值对,我管它叫标签)。

  • 每年3月的第一个日子

FREQ=YEARLY;lNTERVAL=1;BYMONTHDAY=1;BYMONTH=3

  • 每年3月的最后一个日子

FREQ=YEARLY;lNTERVAL=1;BYMONTHDAY=-1;BYMONTH=3

  • 每月的最后一个工作日

FREQ=MONTHLY;lNTERVAL=1;BYDAY=MO,TU,WE,TH,FR;BYSETOPS=-1

  • 每月的最后一个周末

FREQ=MONTHLY;lNTERVAL=1;BYDAY=SU,SA;BYSETOPS=-1

  • 每月的第30天(如果不存在,则取最后一天,安卓手机不支持)

FREQ=MONTHLY;lNTERVAL=1;BYMONTHDAY=28,29,30;BYSETOPS=-1

  • 每两周的周五周日(频率为星期模式且间隔大于1时需要指定星期的第一天,周频率的间隔数大于1时必须指定WKST

FREQ=WEEKLY;lNTERVAL=2;BYDAY=SU,FR;WKST=SU

 

3)周期重复日程与其例外日程的主从关系绑定

设置例外日程的3个字段的数值:
ORIGINAL_ID,周期日程的lD
ORIGINAL_INSTANCE_TIME,周期日程的实例的开始时间
ORIGINAL_ALL_DAY,周期日程的是否全天标志


4)其他细节处理
RRULE中的截止时间延伸到当天时间的23点59分59秒999毫秒,防止个别机型上日程事件错位出现在后一天中。

以上是关于安卓日历同步的一些要点的主要内容,如果未能解决你的问题,请参考以下文章

关于多线程之GCD的一些学习要点

求在安卓手机桌面显示日程待办事项的软件!

如何在 Android 应用程序中将 iCloud 日历与 xamarin 同步?

将事件日期从UIWebView同步到手机日历

QQ邮箱:日程管理,多平台同步

react学习关于react框架使用的一些细节要点的思考