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 adapterCalendarContract.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._IDof 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, theCalendarContract.SyncColumns.ACCOUNT_NAMEandCalendarContract.SyncColumns.ACCOUNT_TYPEshould 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._IDas 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._IDis 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
- 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_LOCATIONThe default location for the calendar. | 
| String | DEFAULT_SORT_ORDERThe default sort order for this table | 
| String | NAMEThe name of the calendar. | 
| Inherited constants | 
|---|
| Fields | |
|---|---|
| 
    public
    static
    final
    Uri | CONTENT_URIThe content:// style URL for accessing Calendars | 
| 
    public
    static
    final
    Uri | ENTERPRISE_CONTENT_URIThe content:// style URL for querying Calendars table in the managed profile. | 
| Inherited methods | |
|---|---|
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.
