Android Calendar API glitches

The Android Calendar API is a bit tricky since it’s not official yet so it can and does change from time to time. I won’t explain the details on how to use providers. For that check the Android Developer Documentation about Content Providers.

First issue is the URI that changed since the Froyo update.¬†Before Froyo use: “content://calendar”. After Froyo you should use: “content://com.android.calendar”. The “/calendars” and “/events” suffices didn’t change.

Another issue was found on Motorola Android Devices. Therefore you should use “content://calendarEx” as URI. Not sure about what the correct URI would be for a Motorola device shipped with Froyo release. If anyone can tell me please do!

Another issue is the fields that are always changing. I got remarks that synchronisation failed for instance. That was due to a new field that indicates if the events need to be synced with the online google calendar or only with the local device calendar.

This is a list of the fields with some sample data on Android 2.2.1 as found on my HTC Desire HD test device. This is for a Birthday, some values were truncated for privacy, everything fetched as a String:

column index=0, column name=originalEvent, column value=null
column index=1, column name=visibility, column value=0
column index=2, column name=rrule, column value=FREQ=YEARLY;BYMONTH=5;BYMONTHDAY=9;INTERVAL=1
column index=3, column name=hide_declined, column value=0
column index=4, column name=reminder_type, column value=1
column index=5, column name=hasAlarm, column value=0
column index=6, column name=suggest_text_2, column value=null
column index=7, column name=rdate, column value=null
column index=8, column name=transparency, column value=0
column index=9, column name=timezone, column value=UTC
column index=10, column name=dtstart, column value=-399168000000
column index=11, column name=_sync_time, column value=null
column index=12, column name=hasAttendeeData, column value=0
column index=13, column name=commentsUri, column value=null
column index=14, column name=description, column value=null
column index=15, column name=reminder_duration, column value=10
column index=16, column name=htmlUri, column value=null
column index=17, column name=_sync_account, column value=SOME_EMAIL
column index=18, column name=_sync_version, column value=null
column index=19, column name=hasExtendedProperties, column value=0
column index=20, column name=last_update_time, column value=null
column index=21, column name=eventLocation, column value=null
column index=22, column name=dtend, column value=null
column index=23, column name=allDay, column value=1
column index=24, column name=organizer, column value=SOME_EMAIL
column index=25, column name=deleted, column value=0
column index=26, column name=url, column value=null
column index=27, column name=originalInstanceTime, column value=null
column index=28, column name=alerts_vibrate, column value=1
column index=29, column name=importance, column value=1
column index=30, column name=selfAttendeeStatus, column value=0
column index=31, column name=eventTimezone, column value=null
column index=32, column name=ownerAccount, column value=SOME_EMAIL
column index=33, column name=_sync_account_type, column value=com.htc.socialnetwork.facebook
column index=34, column name=lastDate, column value=null
column index=35, column name=guestsCanModify, column value=0
column index=36, column name=guestsCanSeeGuests, column value=1
column index=37, column name=exrule, column value=null
column index=38, column name=selected, column value=1
column index=39, column name=title, column value=SOMEONES Birthday
column index=40, column name=_id, column value=251
column index=41, column name=_sync_id, column value=1251191725-birthday
column index=42, column name=alerts_ringtone, column value=null
column index=43, column name=calendar_id, column value=16
column index=44, column name=access_level, column value=200
column index=45, column name=_sync_local_id, column value=null
column index=46, column name=suggest_text_1, column value=SOMEONES Birthday
column index=47, column name=originalAllDay, column value=null
column index=48, column name=iCalGUID, column value=SOME_HASH_VALUE
column index=49, column name=_sync_dirty, column value=1
column index=50, column name=duration, column value=P1D
column index=51, column name=parentID, column value=null
column index=52, column name=color, column value=-14069126
column index=53, column name=guestsCanInviteOthers, column value=1
column index=54, column name=exdate, column value=null
column index=55, column name=eventStatus, column value=null

Leave a Reply

Your email address will not be published. Required fields are marked *

Please reload

Please Wait