# Print output for @column tags ?>
Developers

- Design
- Develop
- Distribute

Developer Console

## Most visited

## Recently visited

## Results for

Summary: Constants | Inherited Constants | Fields | Inherited Methods

# CalendarContract.Calendars

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

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:
  - `CalendarContract.SyncColumns.ACCOUNT_NAME`
  - `CalendarContract.SyncColumns.ACCOUNT_TYPE`
  - `NAME`
  - `CalendarContract.CalendarColumns.CALENDAR_DISPLAY_NAME`
  - `CalendarContract.CalendarColumns.CALENDAR_COLOR`
  - `CalendarContract.CalendarColumns.CALENDAR_ACCESS_LEVEL`
  - `CalendarContract.CalendarColumns.OWNER_ACCOUNT`
  The following fields are not required when inserting a Calendar but are generally a good idea to include:
  - `CalendarContract.CalendarColumns.SYNC_EVENTS` set to 1
  - `CalendarContract.CalendarColumns.CALENDAR_TIME_ZONE`
  - `CalendarContract.CalendarColumns.ALLOWED_REMINDERS`
  - `CalendarContract.CalendarColumns.ALLOWED_AVAILABILITY`
  - `CalendarContract.CalendarColumns.ALLOWED_ATTENDEE_TYPES`
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.

- `NAME`
- `CalendarContract.CalendarColumns.CALENDAR_DISPLAY_NAME`
- `CalendarContract.CalendarColumns.VISIBLE`
- `CalendarContract.CalendarColumns.SYNC_EVENTS`

The following Calendars columns are writable only by a sync adapter

- `CalendarContract.SyncColumns.ACCOUNT_NAME`
- `CalendarContract.SyncColumns.ACCOUNT_TYPE`
- `CalendarContract.CalendarColumns.CALENDAR_COLOR`
- `CalendarContract.SyncColumns._SYNC_ID`
- `CalendarContract.SyncColumns.DIRTY`
- `CalendarContract.SyncColumns.MUTATORS`
- `CalendarContract.CalendarColumns.OWNER_ACCOUNT`
- `CalendarContract.CalendarColumns.MAX_REMINDERS`
- `CalendarContract.CalendarColumns.ALLOWED_REMINDERS`
- `CalendarContract.CalendarColumns.ALLOWED_AVAILABILITY`
- `CalendarContract.CalendarColumns.ALLOWED_ATTENDEE_TYPES`
- `CalendarContract.CalendarColumns.CAN_MODIFY_TIME_ZONE`
- `CalendarContract.CalendarColumns.CAN_ORGANIZER_RESPOND`
- `CalendarContract.SyncColumns.CAN_PARTIALLY_UPDATE`
- `CALENDAR_LOCATION`
- `CalendarContract.CalendarColumns.CALENDAR_TIME_ZONE`
- `CalendarContract.CalendarColumns.CALENDAR_ACCESS_LEVEL`
- `CalendarContract.SyncColumns.DELETED`
- `CalendarContract.CalendarSyncColumns.CAL_SYNC1`
- `CalendarContract.CalendarSyncColumns.CAL_SYNC2`
- `CalendarContract.CalendarSyncColumns.CAL_SYNC3`
- `CalendarContract.CalendarSyncColumns.CAL_SYNC4`
- `CalendarContract.CalendarSyncColumns.CAL_SYNC5`
- `CalendarContract.CalendarSyncColumns.CAL_SYNC6`
- `CalendarContract.CalendarSyncColumns.CAL_SYNC7`
- `CalendarContract.CalendarSyncColumns.CAL_SYNC8`
- `CalendarContract.CalendarSyncColumns.CAL_SYNC9`
- `CalendarContract.CalendarSyncColumns.CAL_SYNC10`

## 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
From interface `android.provider.BaseColumns`
`String` | `_COUNT` The count of rows in a directory.
`String` | `_ID` The unique ID for a row.
From interface `android.provider.CalendarContract.SyncColumns`
`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.
From interface `android.provider.CalendarContract.CalendarColumns`
`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.
From interface `android.provider.CalendarContract.CalendarSyncColumns`
`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
From class `java.lang.Object`
`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 timeout, int nanos)` Causes the current thread to wait until another thread invokes the `notify()` method or the `notifyAll()` method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.
`final void` | `wait(long timeout)` Causes the current thread to wait until either another thread invokes the `notify()` method or the `notifyAll()` method for this object, or a specified amount of time has elapsed.
`final void` | `wait()` Causes the current thread to wait until another thread invokes the `notify()` method or the `notifyAll()` method for this object.

## Constants

### CALENDAR_LOCATION

    public static final String CALENDAR_LOCATION

The default location for the calendar. Column name.

Type: TEXT

Constant Value: "calendar_location"

### DEFAULT_SORT_ORDER

    public static final String DEFAULT_SORT_ORDER

The default sort order for this table

Constant Value: "calendar_displayName"

### NAME

    public static final String NAME

The name of the calendar. Column name.

Type: TEXT

Constant Value: "name"

## Fields

### CONTENT_URI

    public static final Uri CONTENT_URI

The content:// style URL for accessing Calendars

### ENTERPRISE_CONTENT_URI

    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:

- `BaseColumns._ID`
- `CalendarContract.CalendarColumns.CALENDAR_COLOR`
- `CalendarContract.CalendarColumns.VISIBLE`
- `CALENDAR_LOCATION`
- `CalendarContract.CalendarColumns.CALENDAR_TIME_ZONE`
- `CalendarContract.CalendarColumns.IS_PRIMARY`

`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.

See also:

- `DevicePolicyManager.getCrossProfileCalendarPackages(ComponentName)`

Full name *
Email address *
Company / developer name
One of your Play Store app URLs *
Which best describes your business:*
Apps
Games
Apps & Games
*
*