Skip to content

Most visited

Recently visited

navigation
Added in API level 14

CalendarContract.Events

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

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


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 CALLER_IS_SYNCADAPTER should be set to true and ACCOUNT_NAME and ACCOUNT_TYPE must be set in the Uri parameters. See 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.
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 _ID of the event should be provided either as an appended id to the Uri ( withAppendedId(Uri, long)) 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 _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 _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: The following Events columns are writable by both an app and a sync adapter. The following Events columns are writable only by a sync adapter The remaining columns are either updated by the provider only or are views into other tables and cannot be changed through the Events table.

Summary

Inherited constants

From interface android.provider.BaseColumns
From interface android.provider.CalendarContract.SyncColumns
From interface android.provider.CalendarContract.EventsColumns
From interface android.provider.CalendarContract.CalendarColumns
From interface android.provider.CalendarContract.CalendarSyncColumns

Fields

public static final Uri CONTENT_EXCEPTION_URI

The content:// style URI for recurring event exceptions.

public static final Uri CONTENT_URI

The content:// style URL for interacting with events.

Inherited methods

From class java.lang.Object

Fields

CONTENT_EXCEPTION_URI

Added in API level 14
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 appendPath(String)).

CONTENT_URI

Added in API level 14
Uri CONTENT_URI

The content:// style URL for interacting with events. Appending an event id using withAppendedId(Uri, long) will specify a single event.

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.