CalendarContract.Calendars


public static final class CalendarContract.Calendars
extends Object implements BaseColumns, CalendarContract.CalendarColumns, CalendarContract.SyncColumns

java.lang.Object
   ↳ android.provider.CalendarContract.Calendars


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

Operations

All operations can be done either as an app or as a sync adapter. To perform an operation as a sync adapter CalendarContract.CALLER_IS_SYNCADAPTER should be set to true and CalendarContract.SyncColumns.ACCOUNT_NAME and CalendarContract.SyncColumns.ACCOUNT_TYPE must be set in the Uri parameters. See Uri.Builder.appendQueryParameter(java.lang.String, java.lang.String) for details on adding parameters. Sync adapters have write access to more columns but are restricted to a single account at a time. Calendars are designed to be primarily managed by a sync adapter and inserting new calendars should be done as a sync adapter. For the most part, apps should only update calendars (such as changing the color or display name). If a local calendar is required an app can do so by inserting as a sync adapter and using an CalendarContract.SyncColumns.ACCOUNT_TYPE of CalendarContract.ACCOUNT_TYPE_LOCAL .
Insert
When inserting a new calendar the following fields must be included: The following fields are not required when inserting a Calendar but are generally a good idea to include:
Update
To perform an update on a calendar the BaseColumns._ID of the calendar should be provided either as an appended id to the Uri ( ContentUris.withAppendedId) or as the first selection item--the selection should start with "_id=?" and the first selectionArg should be the _id of the calendar. Calendars may also be updated using a selection without the id. In general, the CalendarContract.SyncColumns.ACCOUNT_NAME and CalendarContract.SyncColumns.ACCOUNT_TYPE should not be changed after a calendar is created as this can cause issues for sync adapters.
Delete
Calendars can be deleted either by the BaseColumns._ID as an appended id on the Uri or using any standard selection. Deleting a calendar should generally be handled by a sync adapter as it will remove the calendar from the database and all associated data (aka events).
Query
Querying the Calendars table will get you all information about a set of calendars. There will be one row returned for each calendar that matches the query selection, or at most a single row if the BaseColumns._ID is appended to the Uri.

Calendar Columns

The following Calendar columns are writable by both an app and a sync adapter. The following Calendars columns are writable only by a sync adapter

Summary

Constants

String CALENDAR_LOCATION

The default location for the calendar.

String DEFAULT_SORT_ORDER

The default sort order for this table

String NAME

The name of the calendar.

Inherited constants

String _COUNT

The count of rows in a directory.

String _ID

The unique ID for a row.

String ALLOWED_ATTENDEE_TYPES

A comma separated list of attendee types supported for this calendar in the format "#,#,#".

String ALLOWED_AVAILABILITY

A comma separated list of availability types supported for this calendar in the format "#,#,#".

String ALLOWED_REMINDERS

A comma separated list of reminder methods supported for this calendar in the format "#,#,#".

String CALENDAR_ACCESS_LEVEL

The level of access that the user has for the calendar

Type: INTEGER (one of the values below)

String CALENDAR_COLOR

The color of the calendar.

String CALENDAR_COLOR_KEY

A key for looking up a color from the Colors table.

String CALENDAR_DISPLAY_NAME

The display name of the calendar.

String CALENDAR_TIME_ZONE

The time zone the calendar is associated with.

int CAL_ACCESS_CONTRIBUTOR

Full access to modify the calendar, but not the access control settings

int CAL_ACCESS_EDITOR

Full access to modify the calendar, but not the access control settings

int CAL_ACCESS_FREEBUSY

Can only see free/busy information about the calendar

int CAL_ACCESS_NONE

Cannot access the calendar

int CAL_ACCESS_OVERRIDE

not used

int CAL_ACCESS_OWNER

Full access to the calendar

int CAL_ACCESS_READ

Can read all event details

int CAL_ACCESS_RESPOND

Can reply yes/no/maybe to an event

int CAL_ACCESS_ROOT

Domain admin

String CAN_MODIFY_TIME_ZONE

Can the organizer modify the time zone of the event? Column name.

String CAN_ORGANIZER_RESPOND

Can the organizer respond to the event? If no, the status of the organizer should not be shown by the UI.

String IS_PRIMARY

Is this the primary calendar for this account.

String MAX_REMINDERS

The maximum number of reminders allowed for an event.

String OWNER_ACCOUNT

The owner account for this calendar, based on the calendar feed.

String SYNC_EVENTS

Is this calendar synced and are its events stored on the device? 0 - Do not sync this calendar or store events for this calendar.

String VISIBLE

Is the calendar selected to be displayed? 0 - do not show events associated with this calendar.

String ACCOUNT_NAME

The account that was used to sync the entry to the device.

String ACCOUNT_TYPE

The type of the account that was used to sync the entry to the device.

String CAN_PARTIALLY_UPDATE

If set to 1 this causes events on this calendar to be duplicated with Events.LAST_SYNCED set to 1 whenever the event transitions from non-dirty to dirty.

String DELETED

Whether the row has been deleted but not synced to the server.

String DIRTY

Used to indicate that local, unsynced, changes are present.

String MUTATORS

Used in conjunction with DIRTY to indicate what packages wrote local changes.

String _SYNC_ID

The unique ID for a row assigned by the sync source.

String CAL_SYNC1

Generic column for use by sync adapters.

String CAL_SYNC10

Generic column for use by sync adapters.

String CAL_SYNC2

Generic column for use by sync adapters.

String CAL_SYNC3

Generic column for use by sync adapters.

String CAL_SYNC4

Generic column for use by sync adapters.

String CAL_SYNC5

Generic column for use by sync adapters.

String CAL_SYNC6

Generic column for use by sync adapters.

String CAL_SYNC7

Generic column for use by sync adapters.

String CAL_SYNC8

Generic column for use by sync adapters.

String CAL_SYNC9

Generic column for use by sync adapters.

Fields

public static final Uri CONTENT_URI

The content:// style URL for accessing Calendars

public static final Uri ENTERPRISE_CONTENT_URI

The content:// style URL for querying Calendars table in the managed profile.

Inherited methods

Object clone()

Creates and returns a copy of this object.

boolean equals(Object obj)

Indicates whether some other object is "equal to" this one.

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

final Class<?> getClass()

Returns the runtime class of this Object.

int hashCode()

Returns a hash code value for the object.

final void notify()

Wakes up a single thread that is waiting on this object's monitor.

final void notifyAll()

Wakes up all threads that are waiting on this object's monitor.

String toString()

Returns a string representation of the object.

final void wait(long timeoutMillis, int nanos)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait(long timeoutMillis)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait()

Causes the current thread to wait until it is awakened, typically by being notified or interrupted.

Constants

CALENDAR_LOCATION

Added in API level 14
public static final String CALENDAR_LOCATION

The default location for the calendar. Column name.

Type: TEXT

Constant Value: "calendar_location"

DEFAULT_SORT_ORDER

Added in API level 14
public static final String DEFAULT_SORT_ORDER

The default sort order for this table

Constant Value: "calendar_displayName"

NAME

Added in API level 14
public static final String NAME

The name of the calendar. Column name.

Type: TEXT

Constant Value: "name"

Fields

CONTENT_URI

Added in API level 14
public static final Uri CONTENT_URI

The content:// style URL for accessing Calendars

ENTERPRISE_CONTENT_URI

Added in API level 29
public static final Uri ENTERPRISE_CONTENT_URI

The content:// style URL for querying Calendars table in the managed profile. Appending a calendar id using ContentUris.withAppendedId(Uri, long) specifies a single calendar.

The following columns are allowed to be queried via this uri:

IllegalArgumentException is thrown if there exists columns in the projection of the query to this uri that are not contained in the above list.

This uri returns an empty cursor if the calling user is not a parent profile of a managed profile, or the managed profile is disabled, or cross-profile calendar is disabled in Settings, or this uri is queried from a package that is not allowed by the profile owner of the managed profile via DevicePolicyManager.setCrossProfileCalendarPackages(ComponentName, Set).

Apps can register a ContentObserver for this URI to listen to changes.

Discover the latest app development tools, platform updates, training, and documentation for developers across every Android device.

Updated Dec 18, 2024

Discover the latest app development tools, platform updates, training, and documentation for developers across every Android device.

Updated Dec 18, 2024