zoukankan      html  css  js  c++  java
  • 安卓日历同步的一些要点

    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毫秒,防止个别机型上日程事件错位出现在后一天中。

  • 相关阅读:
    搭建博客
    开发常用的工具函数
    堆内存和栈内存及C++内存分配
    nuxt本机运行,如何用ip访问,localhost也可以访问?
    vue封装一个左滑删除的组件
    vue封装一个swiper组件
    YAPI安装google的cross-request插件
    vue项目中如何封装api,使请求方法清晰,适合协作开发
    axios封装一个请求本地数据的方法
    nuxt中vuex如何模块化分
  • 原文地址:https://www.cnblogs.com/glowworm/p/6907637.html
Copyright © 2011-2022 走看看