1)API接口html
android.content.ContentProviderandroid
android.content.ContentResolveride
android.provider.CalendarContractspa
另外,在建立日曆帳號時(向系統的Calendars表插入一條數據)須要設置爲適配器模式,具體能夠查看CalendarContract幫助。htm
2)週期規則字符串RRULE接口
RRULE的具體組成能夠參考RFC5545,可是須要特別指出的是,Android系統並非百分百支持該標準,只支持基本功能的標籤(等號聯繫起來的鍵值對,我管它叫標籤)。事件
FREQ=YEARLY;lNTERVAL=1;BYMONTHDAY=1;BYMONTH=3字符串
FREQ=YEARLY;lNTERVAL=1;BYMONTHDAY=-1;BYMONTH=3get
FREQ=MONTHLY;lNTERVAL=1;BYDAY=MO,TU,WE,TH,FR;BYSETOPS=-1it
FREQ=MONTHLY;lNTERVAL=1;BYDAY=SU,SA;BYSETOPS=-1
FREQ=MONTHLY;lNTERVAL=1;BYMONTHDAY=28,29,30;BYSETOPS=-1
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毫秒,防止個別機型上日程事件錯位出如今後一天中。