安卓日曆同步的一些要點

1)API接口html

android.content.ContentProviderandroid

android.content.ContentResolveride

android.provider.CalendarContractspa

另外,在建立日曆帳號時(向系統的Calendars表插入一條數據)須要設置爲適配器模式,具體能夠查看CalendarContract幫助。htm

 

2)週期規則字符串RRULE接口

RRULE的具體組成能夠參考RFC5545,可是須要特別指出的是,Android系統並非百分百支持該標準,只支持基本功能的標籤(等號聯繫起來的鍵值對,我管它叫標籤)。事件

  • 每一年3月的第一個日子

FREQ=YEARLY;lNTERVAL=1;BYMONTHDAY=1;BYMONTH=3字符串

  • 每一年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

  • 每個月的第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毫秒,防止個別機型上日程事件錯位出如今後一天中。

相關文章
相關標籤/搜索