Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Constants](https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#constants) \| [Inherited Constants](https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#inhconstants) \| [Fields](https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#lfields) \| [Inherited Methods](https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#inhmethods)

# TvContract.RecordedPrograms

*** ** * ** ***

` public static final class TvContract.RecordedPrograms `   
` extends https://developer.android.com/reference/java/lang/Object ` ` implements https://developer.android.com/reference/android/media/tv/TvContract.BaseTvColumns `

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.media.tv.TvContract.RecordedPrograms |

<br />

*** ** * ** ***

Column definitions for the recorded TV programs table.

By default, the query results will be sorted by `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_START_TIME_UTC_MILLIS` in ascending order.

## Summary

| ### Constants ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_AUDIO_LANGUAGE` The comma-separated audio languages of this TV program. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_BROADCAST_GENRE` The comma-separated genre string of this recorded TV program. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_CANONICAL_GENRE` The comma-separated canonical genre string of this TV program. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_CHANNEL_ID` The ID of the TV channel that provides this recorded program. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_CONTENT_RATING` The comma-separated content ratings of this TV program. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_END_TIME_UTC_MILLIS` The end time of the original TV program, in milliseconds since the epoch. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_EPISODE_DISPLAY_NUMBER` The episode display number of this TV program for episodic TV shows. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_EPISODE_TITLE` The episode title of this TV program for episodic TV shows. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_INPUT_ID` The ID of the TV input service that is associated with this recorded program. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_INTERNAL_PROVIDER_DATA` Internal data used by individual TV input services. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_INTERNAL_PROVIDER_FLAG1` Internal integer flag used by individual TV input services. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_INTERNAL_PROVIDER_FLAG2` Internal integer flag used by individual TV input services. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_INTERNAL_PROVIDER_FLAG3` Internal integer flag used by individual TV input services. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_INTERNAL_PROVIDER_FLAG4` Internal integer flag used by individual TV input services. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_INTERNAL_PROVIDER_ID` The internal ID used by individual TV input services. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_LONG_DESCRIPTION` The detailed, lengthy description of this TV program that is displayed only when the user wants to see more information. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_MULTI_SERIES_ID` The comma-separated series IDs of this TV program for episodic TV shows. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_POSTER_ART_URI` The URI for the poster art of this TV program. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_RECORDING_DATA_BYTES` The data size (in bytes) for this recorded program. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_RECORDING_DATA_URI` The URI of the recording data for this recorded program. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_RECORDING_DURATION_MILLIS` The duration (in milliseconds) of this recorded program. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_RECORDING_EXPIRE_TIME_UTC_MILLIS` The expiration time for this recorded program, in milliseconds since the epoch. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_REVIEW_RATING` The review rating score for this program. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_REVIEW_RATING_STYLE` The review rating score style used for `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_REVIEW_RATING`. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_SEARCHABLE` The flag indicating whether this TV program is searchable or not. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_SEASON_DISPLAY_NUMBER` The season display number of this TV program for episodic TV shows. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_SEASON_TITLE` The title of the season for this TV program for episodic TV shows. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_SERIES_ID` The series ID of this TV program for episodic TV shows. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_SHORT_DESCRIPTION` The short description of this TV program that is displayed to the user by default. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_SPLIT_ID` The split ID of this TV program for multi-part content, as a URI. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_START_TIME_UTC_MILLIS` The start time of the original TV program, in milliseconds since the epoch. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_THUMBNAIL_URI` The URI for the thumbnail of this TV program. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_TITLE` The title of this TV program. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_VERSION_NUMBER` The version number of this row entry used by TV input services. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_VIDEO_HEIGHT` The height of the video for this TV program, in the unit of pixels. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_VIDEO_WIDTH` The width of the video for this TV program, in the unit of pixels. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#CONTENT_ITEM_TYPE` The MIME type of a single recorded TV program. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#CONTENT_TYPE` The MIME type of a directory of recorded TV programs. |
| `int` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#REVIEW_RATING_STYLE_PERCENTAGE` The review rating style for 0 to 100 point system. |
| `int` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#REVIEW_RATING_STYLE_STARS` The review rating style for five star rating. |
| `int` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#REVIEW_RATING_STYLE_THUMBS_UP_DOWN` The review rating style for thumbs-up and thumbs-down rating. |

### Inherited constants

From interface `https://developer.android.com/reference/android/media/tv/TvContract.BaseTvColumns` `https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/media/tv/TvContract.BaseTvColumns#COLUMN_PACKAGE_NAME`

The name of the package that owns the current row.
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.

| ### Fields ||
|---|---|
| ` public static final https://developer.android.com/reference/android/net/Uri` | `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#CONTENT_URI` The content:// style URI for this table. |

### 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*.

## Constants

### COLUMN_AUDIO_LANGUAGE

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

```
public static final String COLUMN_AUDIO_LANGUAGE
```

The comma-separated audio languages of this TV program.

This is used to describe available audio languages included in the program. Use either ISO 639-1 or 639-2/T codes.

Type: TEXT

<br />

Constant Value: "audio_language"

### COLUMN_BROADCAST_GENRE

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

```
public static final String COLUMN_BROADCAST_GENRE
```

The comma-separated genre string of this recorded TV program.

Use the same language appeared in the underlying broadcast standard, if applicable. (For example, one can refer to the genre strings used in Genre Descriptor of ATSC A/65 or Content Descriptor of ETSI EN 300 468, if appropriate.) Otherwise, leave empty. Use `https://developer.android.com/reference/android/media/tv/TvContract.Programs.Genres#encode(java.lang.String[])` to create a text that can be stored in this column. Use `https://developer.android.com/reference/android/media/tv/TvContract.Programs.Genres#decode(java.lang.String)` to get the broadcast genre strings from the text stored in the column.

Type: TEXT

<br />

**See also:**

- `https://developer.android.com/reference/android/media/tv/TvContract.Programs#COLUMN_BROADCAST_GENRE`

Constant Value: "broadcast_genre"

### COLUMN_CANONICAL_GENRE

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

```
public static final String COLUMN_CANONICAL_GENRE
```

The comma-separated canonical genre string of this TV program.

Canonical genres are defined in `https://developer.android.com/reference/android/media/tv/TvContract.Programs.Genres`. Use `https://developer.android.com/reference/android/media/tv/TvContract.Programs.Genres#encode(java.lang.String[])` to create a text that can be stored in this column. Use `https://developer.android.com/reference/android/media/tv/TvContract.Programs.Genres#decode(java.lang.String)` to get the canonical genre strings from the text stored in the column.

Type: TEXT

<br />

**See also:**

- `https://developer.android.com/reference/android/media/tv/TvContract.Programs.Genres`
- `https://developer.android.com/reference/android/media/tv/TvContract.Programs.Genres#encode(java.lang.String[])`
- `https://developer.android.com/reference/android/media/tv/TvContract.Programs.Genres#decode(java.lang.String)`

Constant Value: "canonical_genre"

### COLUMN_CHANNEL_ID

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

```
public static final String COLUMN_CHANNEL_ID
```

The ID of the TV channel that provides this recorded program.

This is a part of the channel URI and matches to `https://developer.android.com/reference/android/provider/BaseColumns#_ID`.

Type: INTEGER (long)

<br />

Constant Value: "channel_id"

### COLUMN_CONTENT_RATING

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

```
public static final String COLUMN_CONTENT_RATING
```

The comma-separated content ratings of this TV program.

This is used to describe the content rating(s) of this program. Each comma-separated content rating sub-string should be generated by calling `https://developer.android.com/reference/android/media/tv/TvContentRating#flattenToString()`. Note that in most cases the program content is rated by a single rating system, thus resulting in a corresponding single sub-string that does not require comma separation and multiple sub-strings appear only when the program content is rated by two or more content rating systems. If any of those ratings is specified as "blocked rating" in the user's parental control settings, the TV input service should block the current content and wait for the signal that it is okay to unblock.

Type: TEXT

<br />

Constant Value: "content_rating"

### COLUMN_END_TIME_UTC_MILLIS

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

```
public static final String COLUMN_END_TIME_UTC_MILLIS
```

The end time of the original TV program, in milliseconds since the epoch.

Type: INTEGER (long)

<br />

**See also:**

- `https://developer.android.com/reference/android/media/tv/TvContract.Programs#COLUMN_END_TIME_UTC_MILLIS`

Constant Value: "end_time_utc_millis"

### COLUMN_EPISODE_DISPLAY_NUMBER

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

```
public static final String COLUMN_EPISODE_DISPLAY_NUMBER
```

The episode display number of this TV program for episodic TV shows.

This is used to indicate the episode number. (e.g. 1, 2 or 3) Note that the value does not necessarily be numeric. (e.g. 12B)

Can be empty.

Type: TEXT

<br />

Constant Value: "episode_display_number"

### COLUMN_EPISODE_TITLE

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

```
public static final String COLUMN_EPISODE_TITLE
```

The episode title of this TV program for episodic TV shows.

Can be empty.

Type: TEXT

<br />

Constant Value: "episode_title"

### COLUMN_INPUT_ID

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

```
public static final String COLUMN_INPUT_ID
```

The ID of the TV input service that is associated with this recorded program.

Use `https://developer.android.com/reference/android/media/tv/TvContract#buildInputId(android.content.ComponentName)` to build the ID.

This is a required field.

Type: TEXT

<br />

Constant Value: "input_id"

### COLUMN_INTERNAL_PROVIDER_DATA

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

```
public static final String COLUMN_INTERNAL_PROVIDER_DATA
```

Internal data used by individual TV input services.

This is internal to the provider that inserted it, and should not be decoded by other apps.

Type: BLOB

<br />

Constant Value: "internal_provider_data"

### COLUMN_INTERNAL_PROVIDER_FLAG1

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

```
public static final String COLUMN_INTERNAL_PROVIDER_FLAG1
```

Internal integer flag used by individual TV input services.

This is internal to the provider that inserted it, and should not be decoded by other apps.

Type: INTEGER

<br />

Constant Value: "internal_provider_flag1"

### COLUMN_INTERNAL_PROVIDER_FLAG2

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

```
public static final String COLUMN_INTERNAL_PROVIDER_FLAG2
```

Internal integer flag used by individual TV input services.

This is internal to the provider that inserted it, and should not be decoded by other apps.

Type: INTEGER

<br />

Constant Value: "internal_provider_flag2"

### COLUMN_INTERNAL_PROVIDER_FLAG3

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

```
public static final String COLUMN_INTERNAL_PROVIDER_FLAG3
```

Internal integer flag used by individual TV input services.

This is internal to the provider that inserted it, and should not be decoded by other apps.

Type: INTEGER

<br />

Constant Value: "internal_provider_flag3"

### COLUMN_INTERNAL_PROVIDER_FLAG4

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

```
public static final String COLUMN_INTERNAL_PROVIDER_FLAG4
```

Internal integer flag used by individual TV input services.

This is internal to the provider that inserted it, and should not be decoded by other apps.

Type: INTEGER

<br />

Constant Value: "internal_provider_flag4"

### COLUMN_INTERNAL_PROVIDER_ID

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

```
public static final String COLUMN_INTERNAL_PROVIDER_ID
```

The internal ID used by individual TV input services.

This is internal to the provider that inserted it, and should not be decoded by other apps.

Can be empty.

Type: TEXT

<br />

Constant Value: "internal_provider_id"

### COLUMN_LONG_DESCRIPTION

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

```
public static final String COLUMN_LONG_DESCRIPTION
```

The detailed, lengthy description of this TV program that is displayed only when the user wants to see more information.

TV input services should leave this field empty if they have no additional details beyond `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_SHORT_DESCRIPTION`.

Type: TEXT

<br />

Constant Value: "long_description"

### COLUMN_MULTI_SERIES_ID

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

```
public static final String COLUMN_MULTI_SERIES_ID
```

The comma-separated series IDs of this TV program for episodic TV shows.

This is used to indicate the series IDs. Programs in the same series share a series ID. Use this instead of `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_SERIES_ID` if more than one series IDs are assigned to the TV program.

Can be empty.

Type: TEXT

<br />

Constant Value: "multi_series_id"

### COLUMN_POSTER_ART_URI

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

```
public static final String COLUMN_POSTER_ART_URI
```

The URI for the poster art of this TV program.

The data in the column must be a URL, or a URI in one of the following formats:

- content (`https://developer.android.com/reference/android/content/ContentResolver#SCHEME_CONTENT`)
- android.resource (`https://developer.android.com/reference/android/content/ContentResolver#SCHEME_ANDROID_RESOURCE`)
- file (`https://developer.android.com/reference/android/content/ContentResolver#SCHEME_FILE`)

Can be empty.

Type: TEXT

<br />

Constant Value: "poster_art_uri"

### COLUMN_RECORDING_DATA_BYTES

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

```
public static final String COLUMN_RECORDING_DATA_BYTES
```

The data size (in bytes) for this recorded program.

Together with `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_RECORDING_DATA_URI`, applications can use this information to manage recording storage.

Type: INTEGER (long)

<br />

**See also:**

- `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_RECORDING_DATA_URI`

Constant Value: "recording_data_bytes"

### COLUMN_RECORDING_DATA_URI

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

```
public static final String COLUMN_RECORDING_DATA_URI
```

The URI of the recording data for this recorded program.

Together with `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_RECORDING_DATA_BYTES`, applications can use this information to manage recording storage. The URI should indicate a file or directory with the scheme `https://developer.android.com/reference/android/content/ContentResolver#SCHEME_FILE`.

Type: TEXT

<br />

**See also:**

- `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_RECORDING_DATA_BYTES`

Constant Value: "recording_data_uri"

### COLUMN_RECORDING_DURATION_MILLIS

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

```
public static final String COLUMN_RECORDING_DURATION_MILLIS
```

The duration (in milliseconds) of this recorded program.

The actual duration of the recorded program can differ from the one calculated by `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_END_TIME_UTC_MILLIS` - `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_START_TIME_UTC_MILLIS` as program recording can be interrupted in the middle for some reason, resulting in a partially recorded program, which is still playable.

Type: INTEGER

<br />

Constant Value: "recording_duration_millis"

### COLUMN_RECORDING_EXPIRE_TIME_UTC_MILLIS

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

```
public static final String COLUMN_RECORDING_EXPIRE_TIME_UTC_MILLIS
```

The expiration time for this recorded program, in milliseconds since the epoch.

Recorded TV programs do not expire by default unless explicitly requested by the user or the user allows applications to delete them in order to free up disk space for future recording. However, some TV content can have expiration date set by the content provider when recorded. This field is used to indicate such a restriction.

Can be empty.

Type: INTEGER (long)

<br />

Constant Value: "recording_expire_time_utc_millis"

### COLUMN_REVIEW_RATING

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

```
public static final String COLUMN_REVIEW_RATING
```

The review rating score for this program.

The format of the value is dependent on `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_REVIEW_RATING_STYLE`. If the style is `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#REVIEW_RATING_STYLE_STARS`, the value should be a real number between 0.0 and 5.0. (e.g. "4.5") If the style is `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#REVIEW_RATING_STYLE_THUMBS_UP_DOWN`, the value should be two integers, one for thumbs-up count and the other for thumbs-down count, with a comma between them. (e.g. "200,40") If the style is `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#REVIEW_RATING_STYLE_PERCENTAGE`, the value shoule be a real number between 0 and 100. (e.g. "99.9")

Type: TEXT

<br />

**See also:**

- `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_REVIEW_RATING_STYLE`

Constant Value: "review_rating"

### COLUMN_REVIEW_RATING_STYLE

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

```
public static final String COLUMN_REVIEW_RATING_STYLE
```

The review rating score style used for `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_REVIEW_RATING`.

The value should match one of the followings: `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#REVIEW_RATING_STYLE_STARS`, `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#REVIEW_RATING_STYLE_THUMBS_UP_DOWN`, and `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#REVIEW_RATING_STYLE_PERCENTAGE`.

Type: INTEGER

<br />

**See also:**

- `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_REVIEW_RATING`

Constant Value: "review_rating_style"

### COLUMN_SEARCHABLE

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

```
public static final String COLUMN_SEARCHABLE
```

The flag indicating whether this TV program is searchable or not.

The columns of searchable programs can be read by other applications that have proper permission. Care must be taken not to open sensitive data.

A value of 1 indicates that the program is searchable and its columns can be read by other applications, a value of 0 indicates that the program is hidden and its columns can be read only by the package that owns the program and the system. If not specified, this value is set to 1 (searchable) by default.

Type: INTEGER (boolean)

<br />

Constant Value: "searchable"

### COLUMN_SEASON_DISPLAY_NUMBER

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

```
public static final String COLUMN_SEASON_DISPLAY_NUMBER
```

The season display number of this TV program for episodic TV shows.

This is used to indicate the season number. (e.g. 1, 2 or 3) Note that the value does not necessarily be numeric. (e.g. 12B)

Can be empty.

Type: TEXT

<br />

Constant Value: "season_display_number"

### COLUMN_SEASON_TITLE

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

```
public static final String COLUMN_SEASON_TITLE
```

The title of the season for this TV program for episodic TV shows.

This is an optional field supplied only when the season has a special title (e.g. The Final Season). If provided, the applications should display it instead of `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_SEASON_DISPLAY_NUMBER`, and should display it without alterations. (e.g. for "The Final Season", displayed string should be "The Final Season", not "Season The Final Season"). When displaying multiple programs, the order should be based on `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_SEASON_DISPLAY_NUMBER`, even when `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_SEASON_TITLE` exists.

Can be empty.

Type: TEXT

<br />

Constant Value: "season_title"

### COLUMN_SERIES_ID

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

```
public static final String COLUMN_SERIES_ID
```

The series ID of this TV program for episodic TV shows.

This is used to indicate the series ID. Programs in the same series share a series ID.

Can be empty.

Type: TEXT

<br />

Constant Value: "series_id"

### COLUMN_SHORT_DESCRIPTION

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

```
public static final String COLUMN_SHORT_DESCRIPTION
```

The short description of this TV program that is displayed to the user by default.

It is recommended to limit the length of the descriptions to 256 characters.

Type: TEXT

<br />

Constant Value: "short_description"

### COLUMN_SPLIT_ID

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

```
public static final String COLUMN_SPLIT_ID
```

The split ID of this TV program for multi-part content, as a URI.

A content may consist of multiple programs within the same channel or over several channels. For example, a film might be divided into two parts interrupted by a news in the middle or a longer sport event might be split into several parts over several channels. The split ID is used to identify all the programs in the same multi-part content. Suitable URIs include

- `crid://<CRIDauthority>/<data>#<IMI>` from ETSI TS 102 323

Can be empty.

Type: TEXT

<br />

Constant Value: "split_id"

### COLUMN_START_TIME_UTC_MILLIS

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

```
public static final String COLUMN_START_TIME_UTC_MILLIS
```

The start time of the original TV program, in milliseconds since the epoch.

Type: INTEGER (long)

<br />

**See also:**

- `https://developer.android.com/reference/android/media/tv/TvContract.Programs#COLUMN_START_TIME_UTC_MILLIS`

Constant Value: "start_time_utc_millis"

### COLUMN_THUMBNAIL_URI

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

```
public static final String COLUMN_THUMBNAIL_URI
```

The URI for the thumbnail of this TV program.

The system can generate a thumbnail from the poster art if this column is not specified. Thus it is not necessary for TV input services to include a thumbnail if it is just a scaled image of the poster art.

The data in the column must be a URL, or a URI in one of the following formats:

- content (`https://developer.android.com/reference/android/content/ContentResolver#SCHEME_CONTENT`)
- android.resource (`https://developer.android.com/reference/android/content/ContentResolver#SCHEME_ANDROID_RESOURCE`)
- file (`https://developer.android.com/reference/android/content/ContentResolver#SCHEME_FILE`)

Can be empty.

Type: TEXT

<br />

Constant Value: "thumbnail_uri"

### COLUMN_TITLE

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

```
public static final String COLUMN_TITLE
```

The title of this TV program.

If this program is an episodic TV show, it is recommended that the title is the series title and its related fields (`https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_SEASON_TITLE` and/or `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_SEASON_DISPLAY_NUMBER`, `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_SEASON_DISPLAY_NUMBER`, `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_EPISODE_DISPLAY_NUMBER`, and `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_EPISODE_TITLE`) are filled in.

Type: TEXT

<br />

Constant Value: "title"

### COLUMN_VERSION_NUMBER

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

```
public static final String COLUMN_VERSION_NUMBER
```

The version number of this row entry used by TV input services.

This is best used by sync adapters to identify the rows to update. The number can be defined by individual TV input services. One may assign the same value as `version_number` in ETSI EN 300 468 or ATSC A/65, if the data are coming from a TV broadcast.

Type: INTEGER

<br />

Constant Value: "version_number"

### COLUMN_VIDEO_HEIGHT

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

```
public static final String COLUMN_VIDEO_HEIGHT
```

The height of the video for this TV program, in the unit of pixels.

Together with `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_VIDEO_WIDTH` this is used to determine the video resolution of the current TV program. Can be empty if it is not known initially or the program does not convey any video such as the programs from type `https://developer.android.com/reference/android/media/tv/TvContract.Channels#SERVICE_TYPE_AUDIO` channels.

Type: INTEGER

<br />

Constant Value: "video_height"

### COLUMN_VIDEO_WIDTH

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

```
public static final String COLUMN_VIDEO_WIDTH
```

The width of the video for this TV program, in the unit of pixels.

Together with `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_VIDEO_HEIGHT` this is used to determine the video resolution of the current TV program. Can be empty if it is not known initially or the program does not convey any video such as the programs from type `https://developer.android.com/reference/android/media/tv/TvContract.Channels#SERVICE_TYPE_AUDIO` channels.

Type: INTEGER

<br />

Constant Value: "video_width"

### CONTENT_ITEM_TYPE

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

```
public static final String CONTENT_ITEM_TYPE
```

The MIME type of a single recorded TV program.

<br />

Constant Value: "vnd.android.cursor.item/recorded_program"

### CONTENT_TYPE

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

```
public static final String CONTENT_TYPE
```

The MIME type of a directory of recorded TV programs.

<br />

Constant Value: "vnd.android.cursor.dir/recorded_program"

### REVIEW_RATING_STYLE_PERCENTAGE

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

```
public static final int REVIEW_RATING_STYLE_PERCENTAGE
```

The review rating style for 0 to 100 point system.

<br />

**See also:**

- `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_REVIEW_RATING_STYLE`

Constant Value: 2 (0x00000002)

### REVIEW_RATING_STYLE_STARS

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

```
public static final int REVIEW_RATING_STYLE_STARS
```

The review rating style for five star rating.

<br />

**See also:**

- `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_REVIEW_RATING_STYLE`

Constant Value: 0 (0x00000000)

### REVIEW_RATING_STYLE_THUMBS_UP_DOWN

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

```
public static final int REVIEW_RATING_STYLE_THUMBS_UP_DOWN
```

The review rating style for thumbs-up and thumbs-down rating.

<br />

**See also:**

- `https://developer.android.com/reference/android/media/tv/TvContract.RecordedPrograms#COLUMN_REVIEW_RATING_STYLE`

Constant Value: 1 (0x00000001)

## Fields

### CONTENT_URI

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

```
public static final Uri CONTENT_URI
```

The content:// style URI for this table.

SQL selection is not supported for `https://developer.android.com/reference/android/content/ContentResolver#query(android.net.Uri,%20java.lang.String[],%20android.os.Bundle,%20android.os.CancellationSignal)`, `https://developer.android.com/reference/android/content/ContentResolver#update(android.net.Uri,%20android.content.ContentValues,%20android.os.Bundle)` and `https://developer.android.com/reference/android/content/ContentResolver#delete(android.net.Uri,%20android.os.Bundle)` operations.

<br />