Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Inherited Constants](https://developer.android.com/reference/android/provider/CalendarContract.Events#inhconstants) \| [Fields](https://developer.android.com/reference/android/provider/CalendarContract.Events#lfields) \| [Inherited Methods](https://developer.android.com/reference/android/provider/CalendarContract.Events#inhmethods)

# CalendarContract.Events

*** ** * ** ***

` public static final class CalendarContract.Events `   
` extends https://developer.android.com/reference/java/lang/Object ` ` implements https://developer.android.com/reference/android/provider/BaseColumns, https://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns, https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns, https://developer.android.com/reference/android/provider/CalendarContract.SyncColumns `

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.provider.CalendarContract.Events |

<br />

*** ** * ** ***

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

### Operations

All operations can be done either as an app or as a sync adapter. To perform an operation as a sync adapter `https://developer.android.com/reference/android/provider/CalendarContract#CALLER_IS_SYNCADAPTER` should be set to true and `https://developer.android.com/reference/android/provider/CalendarContract.SyncColumns#ACCOUNT_NAME` and `https://developer.android.com/reference/android/provider/CalendarContract.SyncColumns#ACCOUNT_TYPE` must be set in the Uri parameters. See `https://developer.android.com/reference/android/net/Uri.Builder#appendQueryParameter(java.lang.String,%20java.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.


**Insert**
:
    When inserting a new event the following fields must be included:

    - dtstart
    - dtend if the event is non-recurring
    - duration if the event is recurring
    - rrule or rdate if the event is recurring
    - eventTimezone
    - a calendar_id
    There are also further requirements when inserting or updating an event. See the section on Writing to Events.


**Update**
:
    To perform an update of an Event the `https://developer.android.com/reference/android/provider/BaseColumns#_ID` of the event should be provided either as an appended id to the Uri ( `https://developer.android.com/reference/android/content/ContentUris#withAppendedId(android.net.Uri,%20long)`) or as the first selection item--the selection should start with "_id=?" and the first selectionArg should be the _id of the event. Updates may also be done using a selection and no id. Updating an event must respect the same rules as inserting and is further restricted in the fields that can be written. See the section on Writing to Events.


**Delete**
:
    Events can be deleted either by the `https://developer.android.com/reference/android/provider/BaseColumns#_ID` as an appended id on the Uri or using any standard selection. If an appended id is used a selection is not allowed. There are two versions of delete: as an app and as a sync adapter. An app delete will set the deleted column on an event and remove all instances of that event. A sync adapter delete will remove the event from the database and all associated data.


**Query**
:
    Querying the Events table will get you all information about a set of events except their reminders, attendees, and extended properties. There will be one row returned for each event that matches the query selection, or at most a single row if the `https://developer.android.com/reference/android/provider/BaseColumns#_ID` is appended to the Uri. Recurring events will only return a single row regardless of the number of times that event repeats.

### Writing to Events

There are further restrictions on all Updates and Inserts in the Events table:

- If allDay is set to 1 eventTimezone must be "UTC" and the time must correspond to a midnight boundary.
- Exceptions are not allowed to recur. If rrule or rdate is not empty, original_id and original_sync_id must be empty.
- In general a calendar_id should not be modified after insertion. This is not explicitly forbidden but many sync adapters will not behave in an expected way if the calendar_id is modified.

The following Events columns are writable by both an app and a sync adapter.

<!-- -->

- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#CALENDAR_ID`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#ORGANIZER`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#TITLE`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#EVENT_LOCATION`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#DESCRIPTION`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#EVENT_COLOR`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#DTSTART`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#DTEND`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#EVENT_TIMEZONE`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#EVENT_END_TIMEZONE`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#DURATION`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#ALL_DAY`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#RRULE`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#RDATE`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#EXRULE`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#EXDATE`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#ORIGINAL_ID`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#ORIGINAL_SYNC_ID`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#ORIGINAL_INSTANCE_TIME`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#ORIGINAL_ALL_DAY`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#ACCESS_LEVEL`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#AVAILABILITY`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#GUESTS_CAN_MODIFY`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#GUESTS_CAN_INVITE_OTHERS`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#GUESTS_CAN_SEE_GUESTS`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#CUSTOM_APP_PACKAGE`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#CUSTOM_APP_URI`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#UID_2445`

The following Events columns are writable only by a sync adapter

<!-- -->

- `https://developer.android.com/reference/android/provider/CalendarContract.SyncColumns#DIRTY`
- `https://developer.android.com/reference/android/provider/CalendarContract.SyncColumns#MUTATORS`
- `https://developer.android.com/reference/android/provider/CalendarContract.SyncColumns#_SYNC_ID`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#SYNC_DATA1`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#SYNC_DATA2`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#SYNC_DATA3`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#SYNC_DATA4`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#SYNC_DATA5`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#SYNC_DATA6`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#SYNC_DATA7`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#SYNC_DATA8`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#SYNC_DATA9`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#SYNC_DATA10`

The remaining columns are either updated by the provider only or are views into other tables and cannot be changed through the Events table.

<br />

## Summary

### Inherited constants

From interface `https://developer.android.com/reference/android/provider/BaseColumns` `https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/BaseColumns#_COUNT`

The count of rows in a directory.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/BaseColumns#_ID`

The unique ID for a row.
From interface `https://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns` `https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns#ALLOWED_ATTENDEE_TYPES`

A comma separated list of attendee types supported for this calendar in the format "#,#,#".
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns#ALLOWED_AVAILABILITY`

A comma separated list of availability types supported for this calendar in the format "#,#,#".
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns#ALLOWED_REMINDERS`

A comma separated list of reminder methods supported for this calendar in the format "#,#,#".
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns#CALENDAR_ACCESS_LEVEL`

The level of access that the user has for the calendar

Type: INTEGER (one of the values below)

<br />

`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns#CALENDAR_COLOR`

The color of the calendar.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns#CALENDAR_COLOR_KEY`

A key for looking up a color from the `https://developer.android.com/reference/android/provider/CalendarContract.Colors` table.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns#CALENDAR_DISPLAY_NAME`

The display name of the calendar.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns#CALENDAR_TIME_ZONE`

The time zone the calendar is associated with.
`int` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns#CAL_ACCESS_CONTRIBUTOR`

Full access to modify the calendar, but not the access control settings
`int` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns#CAL_ACCESS_EDITOR`

Full access to modify the calendar, but not the access control settings
`int` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns#CAL_ACCESS_FREEBUSY`

Can only see free/busy information about the calendar
`int` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns#CAL_ACCESS_NONE`

Cannot access the calendar
`int` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns#CAL_ACCESS_OVERRIDE`

not used
`int` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns#CAL_ACCESS_OWNER`

Full access to the calendar
`int` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns#CAL_ACCESS_READ`

Can read all event details
`int` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns#CAL_ACCESS_RESPOND`

Can reply yes/no/maybe to an event
`int` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns#CAL_ACCESS_ROOT`

Domain admin
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns#CAN_MODIFY_TIME_ZONE`

Can the organizer modify the time zone of the event? Column name.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns#CAN_ORGANIZER_RESPOND`

Can the organizer respond to the event? If no, the status of the organizer should not be shown by the UI.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns#IS_PRIMARY`

Is this the primary calendar for this account.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns#MAX_REMINDERS`

The maximum number of reminders allowed for an event.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns#OWNER_ACCOUNT`

The owner account for this calendar, based on the calendar feed.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns#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.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns#VISIBLE`

Is the calendar selected to be displayed? 0 - do not show events associated with this calendar.
From interface `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns` `int` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#ACCESS_CONFIDENTIAL`

Confidential is not used by the app.
`int` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#ACCESS_DEFAULT`

Default access is controlled by the server and will be treated as public on the device.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#ACCESS_LEVEL`

Defines how the event shows up for others when the calendar is shared.
`int` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#ACCESS_PRIVATE`

Private shares the event as a free/busy slot with no details.
`int` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#ACCESS_PUBLIC`

Public makes the contents visible to anyone with access to the calendar.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#ALL_DAY`

Is the event all day (time zone independent).
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#AVAILABILITY`

If this event counts as busy time or is still free time that can be scheduled over.
`int` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#AVAILABILITY_BUSY`

Indicates that this event takes up time and will conflict with other events.
`int` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#AVAILABILITY_FREE`

Indicates that this event is free time and will not conflict with other events.
`int` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#AVAILABILITY_TENTATIVE`

Indicates that the owner's availability may change, but should be considered busy time that will conflict.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#CALENDAR_ID`

The `https://developer.android.com/reference/android/provider/BaseColumns#_ID` of the calendar the event belongs to.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#CAN_INVITE_OTHERS`

Whether the user can invite others to the event.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#CUSTOM_APP_PACKAGE`

The package name of the custom app that can provide a richer experience for the event.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#CUSTOM_APP_URI`

The URI used by the custom app for the event.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#DESCRIPTION`

The description of the event.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#DISPLAY_COLOR`

This will be `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#EVENT_COLOR` if it is not null; otherwise, this will be `https://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns#CALENDAR_COLOR`.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#DTEND`

The time the event ends in UTC millis since epoch.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#DTSTART`

The time the event starts in UTC millis since epoch.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#DURATION`

The duration of the event in RFC2445 format.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#EVENT_COLOR`

A secondary color for the individual event.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#EVENT_COLOR_KEY`

A secondary color key for the individual event.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#EVENT_END_TIMEZONE`

The timezone for the end time of the event.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#EVENT_LOCATION`

Where the event takes place.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#EVENT_TIMEZONE`

The timezone for the event.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#EXDATE`

The recurrence exception dates for the event.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#EXRULE`

The recurrence exception rule for the event.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#GUESTS_CAN_INVITE_OTHERS`

Whether guests can invite other guests.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#GUESTS_CAN_MODIFY`

Whether guests can modify the event.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#GUESTS_CAN_SEE_GUESTS`

Whether guests can see the list of attendees.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#HAS_ALARM`

Whether the event has an alarm or not.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#HAS_ATTENDEE_DATA`

Whether the event has attendee information.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#HAS_EXTENDED_PROPERTIES`

Whether the event has extended properties or not.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#IS_ORGANIZER`

Are we the organizer of this event.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#LAST_DATE`

The last date this event repeats on, or NULL if it never ends.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#LAST_SYNCED`

Used to indicate that a row is not a real event but an original copy of a locally modified event.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#ORGANIZER`

Email of the organizer (owner) of the event.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#ORIGINAL_ALL_DAY`

The allDay status (true or false) of the original recurring event for which this event is an exception.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#ORIGINAL_ID`

The `https://developer.android.com/reference/android/provider/BaseColumns#_ID` of the original recurring event for which this event is an exception.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#ORIGINAL_INSTANCE_TIME`

The original instance time of the recurring event for which this event is an exception.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#ORIGINAL_SYNC_ID`

The _sync_id of the original recurring event for which this event is an exception.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#RDATE`

The recurrence dates for the event.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#RRULE`

The recurrence rule for the event.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#SELF_ATTENDEE_STATUS`

This is a copy of the attendee status for the owner of this event.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#STATUS`

The event status.
`int` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#STATUS_CANCELED`

<br />

`int` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#STATUS_CONFIRMED`

<br />

`int` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#STATUS_TENTATIVE`

<br />

`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#SYNC_DATA1`

This column is available for use by sync adapters.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#SYNC_DATA10`

This column is available for use by sync adapters.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#SYNC_DATA2`

This column is available for use by sync adapters.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#SYNC_DATA3`

This column is available for use by sync adapters.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#SYNC_DATA4`

This column is available for use by sync adapters.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#SYNC_DATA5`

This column is available for use by sync adapters.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#SYNC_DATA6`

This column is available for use by sync adapters.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#SYNC_DATA7`

This column is available for use by sync adapters.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#SYNC_DATA8`

This column is available for use by sync adapters.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#SYNC_DATA9`

This column is available for use by sync adapters.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#TITLE`

The title of the event.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#UID_2445`

The UID for events added from the RFC 2445 iCalendar format.
From interface `https://developer.android.com/reference/android/provider/CalendarContract.SyncColumns` `https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.SyncColumns#ACCOUNT_NAME`

The account that was used to sync the entry to the device.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.SyncColumns#ACCOUNT_TYPE`

The type of the account that was used to sync the entry to the device.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.SyncColumns#CAN_PARTIALLY_UPDATE`

If set to 1 this causes events on this calendar to be duplicated with `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#LAST_SYNCED` set to 1 whenever the event transitions from non-dirty to dirty.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.SyncColumns#DELETED`

Whether the row has been deleted but not synced to the server.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.SyncColumns#DIRTY`

Used to indicate that local, unsynced, changes are present.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.SyncColumns#MUTATORS`

Used in conjunction with `https://developer.android.com/reference/android/provider/CalendarContract.SyncColumns#DIRTY` to indicate what packages wrote local changes.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.SyncColumns#_SYNC_ID`

The unique ID for a row assigned by the sync source.
From interface `https://developer.android.com/reference/android/provider/CalendarContract.CalendarSyncColumns` `https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarSyncColumns#CAL_SYNC1`

Generic column for use by sync adapters.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarSyncColumns#CAL_SYNC10`

Generic column for use by sync adapters.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarSyncColumns#CAL_SYNC2`

Generic column for use by sync adapters.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarSyncColumns#CAL_SYNC3`

Generic column for use by sync adapters.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarSyncColumns#CAL_SYNC4`

Generic column for use by sync adapters.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarSyncColumns#CAL_SYNC5`

Generic column for use by sync adapters.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarSyncColumns#CAL_SYNC6`

Generic column for use by sync adapters.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarSyncColumns#CAL_SYNC7`

Generic column for use by sync adapters.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarSyncColumns#CAL_SYNC8`

Generic column for use by sync adapters.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/CalendarContract.CalendarSyncColumns#CAL_SYNC9`

Generic column for use by sync adapters.

| ### Fields ||
|---|---|
| ` public static final https://developer.android.com/reference/android/net/Uri` | `https://developer.android.com/reference/android/provider/CalendarContract.Events#CONTENT_EXCEPTION_URI` The content:// style URI for recurring event exceptions. |
| ` public static final https://developer.android.com/reference/android/net/Uri` | `https://developer.android.com/reference/android/provider/CalendarContract.Events#CONTENT_URI` The content:// style URL for interacting with events. |
| ` public static final https://developer.android.com/reference/android/net/Uri` | `https://developer.android.com/reference/android/provider/CalendarContract.Events#ENTERPRISE_CONTENT_URI` The content:// style URL for querying Events table in the managed profile. |

### Inherited methods

From class ` https://developer.android.com/reference/java/lang/Object ` ` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Object#clone()() `

Creates and returns a copy of this object.
` boolean` ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Indicates whether some other object is "equal to" this one.
` void` ` https://developer.android.com/reference/java/lang/Object#finalize()() `

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
` final https://developer.android.com/reference/java/lang/Class<?>` ` https://developer.android.com/reference/java/lang/Object#getClass()() `

Returns the runtime class of this `Object`.
` int` ` https://developer.android.com/reference/java/lang/Object#hashCode()() `

Returns a hash code value for the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#notify()() `

Wakes up a single thread that is waiting on this object's monitor.
` final void` ` https://developer.android.com/reference/java/lang/Object#notifyAll()() `

Wakes up all threads that are waiting on this object's monitor.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Object#toString()() `

Returns a string representation of the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(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` ` https://developer.android.com/reference/java/lang/Object#wait(long)(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` ` https://developer.android.com/reference/java/lang/Object#wait()() `

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

## Fields

### CONTENT_EXCEPTION_URI

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final Uri CONTENT_EXCEPTION_URI
```

The content:// style URI for recurring event exceptions. Insertions require an appended event ID. Deletion of exceptions requires both the original event ID and the exception event ID (see `https://developer.android.com/reference/android/net/Uri.Builder#appendPath(java.lang.String)`).

<br />

### CONTENT_URI

Added in [API level 14](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final Uri CONTENT_URI
```

The content:// style URL for interacting with events. Appending an event id using `https://developer.android.com/reference/android/content/ContentUris#withAppendedId(android.net.Uri,%20long)` will specify a single event.

<br />

### ENTERPRISE_CONTENT_URI

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final Uri ENTERPRISE_CONTENT_URI
```

The content:// style URL for querying Events table in the managed profile. Appending an event id using `https://developer.android.com/reference/android/content/ContentUris#withAppendedId(android.net.Uri,%20long)` specifies a single event.

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

- `https://developer.android.com/reference/android/provider/BaseColumns#_ID`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#CALENDAR_ID`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#TITLE`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#EVENT_LOCATION`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#EVENT_COLOR`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#STATUS`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#DTSTART`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#DTEND`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#EVENT_TIMEZONE`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#EVENT_END_TIMEZONE`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#DURATION`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#ALL_DAY`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#AVAILABILITY`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#RRULE`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#RDATE`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#LAST_DATE`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#EXRULE`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#EXDATE`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#SELF_ATTENDEE_STATUS`
- `https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns#DISPLAY_COLOR`
- `https://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns#CALENDAR_COLOR`
- `https://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns#VISIBLE`
- `https://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns#CALENDAR_TIME_ZONE`
- `https://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns#IS_PRIMARY`

`https://developer.android.com/reference/java/lang/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 `https://developer.android.com/reference/android/app/admin/DevicePolicyManager#setCrossProfileCalendarPackages(android.content.ComponentName,%20java.util.Set<java.lang.String>)`.

Apps can register a `https://developer.android.com/reference/android/database/ContentObserver` for this URI to listen to changes.

<br />

**See also:**

- `https://developer.android.com/reference/android/app/admin/DevicePolicyManager#getCrossProfileCalendarPackages(android.content.ComponentName)`