Skip to content

Most visited

Recently visited

navigation

CalendarContract

public final class CalendarContract
extends Object

java.lang.Object
   ↳ android.provider.CalendarContract


The contract between the calendar provider and applications. Contains definitions for the supported URIs and data columns.

Overview

CalendarContract defines the data model of calendar and event related information. This data is stored in a number of tables:

  • The CalendarContract.Calendars table holds the calendar specific information. Each row in this table contains the details for a single calendar, such as the name, color, sync info, etc.
  • The CalendarContract.Events table holds the event specific information. Each row in this table has the info for a single event. It contains information such as event title, location, start time, end time, etc. The event can occur one-time or can recur multiple times. Attendees, reminders, and extended properties are stored on separate tables and reference the _ID to link them with the event.
  • The CalendarContract.Instances table holds the start and end time for occurrences of an event. Each row in this table represents a single occurrence. For one-time events there will be a 1:1 mapping of instances to events. For recurring events, multiple rows will automatically be generated which correspond to multiple occurrences of that event.
  • The CalendarContract.Attendees table holds the event attendee or guest information. Each row represents a single guest of an event. It specifies the type of guest they are and their attendance response for the event.
  • The CalendarContract.Reminders table holds the alert/notification data. Each row represents a single alert for an event. An event can have multiple reminders. The number of reminders per event is specified in MAX_REMINDERS which is set by the Sync Adapter that owns the given calendar. Reminders are specified in minutes before the event and have a type.
  • The CalendarContract.ExtendedProperties table holds opaque data fields used by the sync adapter. The provider takes no action with items in this table except to delete them when their related events are deleted.

Other tables include:

Summary

Nested classes

class CalendarContract.Attendees

Fields and helpers for interacting with Attendees. 

interface CalendarContract.AttendeesColumns

Columns from the Attendees table that other tables join into themselves. 

class CalendarContract.CalendarAlerts

Fields and helpers for accessing calendar alerts information. 

interface CalendarContract.CalendarAlertsColumns

 

class CalendarContract.CalendarCache

CalendarCache stores some settings for calendar including the current time zone for the instances. 

interface CalendarContract.CalendarCacheColumns

 

interface CalendarContract.CalendarColumns

Columns specific to the Calendars Uri that other Uris can query. 

class CalendarContract.CalendarEntity

Class that represents a Calendar Entity. 

interface CalendarContract.CalendarSyncColumns

Generic columns for use by sync adapters. 

class CalendarContract.Calendars

Constants and helpers for the Calendars table, which contains details for individual calendars. 

class CalendarContract.Colors

Fields for accessing colors available for a given account. 

interface CalendarContract.ColorsColumns

 

class CalendarContract.EventDays

Fields and helpers for querying for a list of days that contain events. 

interface CalendarContract.EventDaysColumns

 

class CalendarContract.Events

Constants and helpers for the Events table, which contains details for individual events. 

interface CalendarContract.EventsColumns

Columns from the Events table that other tables join into themselves. 

class CalendarContract.EventsEntity

Class that represents an Event Entity. 

class CalendarContract.ExtendedProperties

Fields for accessing the Extended Properties. 

interface CalendarContract.ExtendedPropertiesColumns

 

class CalendarContract.Instances

Fields and helpers for interacting with Instances. 

class CalendarContract.Reminders

Fields and helpers for accessing reminders for an event. 

interface CalendarContract.RemindersColumns

 

interface CalendarContract.SyncColumns

Columns for Sync information used by Calendars and Events tables. 

class CalendarContract.SyncState

A table provided for sync adapters to use for storing private sync state data. 

Constants

String ACCOUNT_TYPE_LOCAL

A special account type for calendars not associated with any account.

String ACTION_EVENT_REMINDER

Broadcast Action: This is the intent that gets fired when an alarm notification needs to be posted for a reminder.

String ACTION_HANDLE_CUSTOM_EVENT

Activity Action: Display the event to the user in the custom app as specified in CUSTOM_APP_PACKAGE.

String AUTHORITY

This authority is used for writing to or querying from the calendar provider.

String CALLER_IS_SYNCADAPTER

An optional insert, update or delete URI parameter that allows the caller to specify that it is a sync adapter.

String EXTRA_CUSTOM_APP_URI

Intent Extras key: CUSTOM_APP_URI for the event in the ACTION_HANDLE_CUSTOM_EVENT intent

String EXTRA_EVENT_ALL_DAY

Intent Extras key: When creating an event, set this to true to create an all-day event by default

String EXTRA_EVENT_BEGIN_TIME

Intent Extras key: The start time of an event or an instance of a recurring event.

String EXTRA_EVENT_END_TIME

Intent Extras key: The end time of an event or an instance of a recurring event.

Fields

public static final Uri CONTENT_URI

The content:// style URL for the top-level calendar authority

Inherited methods

From class java.lang.Object

Constants

ACCOUNT_TYPE_LOCAL

Added in API level 14
String ACCOUNT_TYPE_LOCAL

A special account type for calendars not associated with any account. Normally calendars that do not match an account on the device will be removed. Setting the account_type on a calendar to this will prevent it from being wiped if it does not match an existing account.

See also:

Constant Value: "LOCAL"

ACTION_EVENT_REMINDER

Added in API level 14
String ACTION_EVENT_REMINDER

Broadcast Action: This is the intent that gets fired when an alarm notification needs to be posted for a reminder.

Constant Value: "android.intent.action.EVENT_REMINDER"

ACTION_HANDLE_CUSTOM_EVENT

Added in API level 16
String ACTION_HANDLE_CUSTOM_EVENT

Activity Action: Display the event to the user in the custom app as specified in CUSTOM_APP_PACKAGE. The custom app will be started via startActivityForResult(Intent, int) and it should call setResult(int) with RESULT_OK or RESULT_CANCELED to acknowledge whether the action was handled or not. The custom app should have an intent filter like the following:

 <intent-filter>
    <action android:name="android.provider.calendar.action.HANDLE_CUSTOM_EVENT" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="vnd.android.cursor.item/event" />
 </intent-filter>

Input: getData() has the event URI. The extra EXTRA_EVENT_BEGIN_TIME has the start time of the instance. The extra EXTRA_CUSTOM_APP_URI will have the CUSTOM_APP_URI.

Output: RESULT_OK if this was handled; otherwise RESULT_CANCELED.

Constant Value: "android.provider.calendar.action.HANDLE_CUSTOM_EVENT"

AUTHORITY

Added in API level 14
String AUTHORITY

This authority is used for writing to or querying from the calendar provider. Note: This is set at first run and cannot be changed without breaking apps that access the provider.

Constant Value: "com.android.calendar"

CALLER_IS_SYNCADAPTER

Added in API level 14
String CALLER_IS_SYNCADAPTER

An optional insert, update or delete URI parameter that allows the caller to specify that it is a sync adapter. The default value is false. If set to true, the modified row is not marked as "dirty" (needs to be synced) and when the provider calls notifyChange(android.net.Uri, android.database.ContentObserver, boolean) , the third parameter "syncToNetwork" is set to false. Furthermore, if set to true, the caller must also include ACCOUNT_NAME and ACCOUNT_TYPE as query parameters.

See also:

Constant Value: "caller_is_syncadapter"

EXTRA_CUSTOM_APP_URI

Added in API level 16
String EXTRA_CUSTOM_APP_URI

Intent Extras key: CUSTOM_APP_URI for the event in the ACTION_HANDLE_CUSTOM_EVENT intent

Constant Value: "customAppUri"

EXTRA_EVENT_ALL_DAY

Added in API level 14
String EXTRA_EVENT_ALL_DAY

Intent Extras key: When creating an event, set this to true to create an all-day event by default

Constant Value: "allDay"

EXTRA_EVENT_BEGIN_TIME

Added in API level 14
String EXTRA_EVENT_BEGIN_TIME

Intent Extras key: The start time of an event or an instance of a recurring event. (milliseconds since epoch)

Constant Value: "beginTime"

EXTRA_EVENT_END_TIME

Added in API level 14
String EXTRA_EVENT_END_TIME

Intent Extras key: The end time of an event or an instance of a recurring event. (milliseconds since epoch)

Constant Value: "endTime"

Fields

CONTENT_URI

Added in API level 14
Uri CONTENT_URI

The content:// style URL for the top-level calendar authority

This site uses cookies to store your preferences for site-specific language and display options.

Hooray!

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a one-minute survey?
Help us improve Android tools and documentation.