| String | ALBUM
                         Indexed value of MediaMetadataRetriever.METADATA_KEY_ALBUMextracted from this media item.This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_STRING, and are read-only and cannot be mutated. | 
                  
                    | String | ALBUM_ARTIST
                         Indexed value of MediaMetadataRetriever.METADATA_KEY_ALBUMARTISTextracted from this media item.This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_STRING, and are read-only and cannot be mutated. | 
                  
                    | String | ARTIST
                         Indexed value of MediaMetadataRetriever.METADATA_KEY_ARTISTorExifInterface.TAG_ARTISTextracted from this media item.This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_STRING, and are read-only and cannot be mutated. | 
                  
                    | String | AUTHOR
                         Indexed value of MediaMetadataRetriever.METADATA_KEY_AUTHORextracted from this media item.This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_STRING, and are read-only and cannot be mutated. | 
                  
                    | String | BITRATE
                         Indexed value of MediaMetadataRetriever.METADATA_KEY_BITRATEextracted from this media item.This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_INTEGER, and are read-only and cannot be mutated. | 
                  
                    | String | BUCKET_DISPLAY_NAME
                         The primary bucket display name of this media item. This can be useful to present the user a first-level clustering of related media items. This is a read-only column that is automatically computed. This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_STRING, and are read-only and cannot be mutated. | 
                  
                    | String | BUCKET_ID
                         The primary bucket ID of this media item. This can be useful to present the user a first-level clustering of related media items. This is a read-only column that is automatically computed. This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_INTEGER, and are read-only and cannot be mutated. | 
                  
                    | String | CAPTURE_FRAMERATE
                         Indexed value of MediaMetadataRetriever.METADATA_KEY_CAPTURE_FRAMERATEextracted from this media item.This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_FLOAT, and are read-only and cannot be mutated. | 
                  
                    | String | CD_TRACK_NUMBER
                         Indexed value of MediaMetadataRetriever.METADATA_KEY_CD_TRACK_NUMBERextracted from this media item.This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_STRING, and are read-only and cannot be mutated. | 
                  
                    | String | COMPILATION
                         Indexed value of MediaMetadataRetriever.METADATA_KEY_COMPILATIONextracted from this media item.This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_STRING, and are read-only and cannot be mutated. | 
                  
                    | String | COMPOSER
                         Indexed value of MediaMetadataRetriever.METADATA_KEY_COMPOSERextracted from this media item.This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_STRING, and are read-only and cannot be mutated. | 
                  
                    | String | DATA
                         Absolute filesystem path to the media item on disk.   Apps may use this path to do file operations. However, they should not assume that the file is always available. Apps must be prepared to handle any file-based I/O errors that could occur.   From Android 11 onwards, this column is read-only for apps that target Rand higher. On those devices, when creating or updating a uri, this column's value is not accepted. Instead, to update the filesystem location of a file, use the values of theDISPLAY_NAMEandRELATIVE_PATHcolumns.  Though direct file operations are supported, ContentResolver.openFileDescriptor(Uri, String)API is recommended for better performance.This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_STRING. | 
                  
                    | String | DATE_ADDED
                         The time the media item was first added. Value is a non-negative timestamp measured as the number of seconds since 1970-01-01T00:00:00Z.
 This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_INTEGER, and are read-only and cannot be mutated. | 
                  
                    | String | DATE_EXPIRES
                         The time the media item should be considered expired. Typically only meaningful in the context of IS_PENDINGorIS_TRASHED.  The value stored in this column is automatically calculated when IS_PENDINGorIS_TRASHEDis changed. The default pending expiration is typically 7 days, and the default trashed expiration is typically 30 days.  Expired media items are automatically deleted once their expiration time has passed, typically during the next device idle period. Value is a non-negative timestamp measured as the number of seconds since 1970-01-01T00:00:00Z.
 This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_INTEGER, and are read-only and cannot be mutated. | 
                  
                    | String | DATE_MODIFIED
                         Indexed value of File.lastModified()extracted from this media item.Value is a non-negative timestamp measured as the number of seconds since 1970-01-01T00:00:00Z.
 This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_INTEGER, and are read-only and cannot be mutated. | 
                  
                    | String | DATE_TAKEN
                         Indexed value of MediaMetadataRetriever.METADATA_KEY_DATEorExifInterface.TAG_DATETIME_ORIGINALextracted from this media item.  Note that images must define both ExifInterface.TAG_DATETIME_ORIGINALandExifInterface#TAG_OFFSET_TIME_ORIGINALto reliably determine this value in relation to the epoch.Value is a non-negative timestamp measured as the number of milliseconds since 1970-01-01T00:00:00Z.
 This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_INTEGER, and are read-only and cannot be mutated. | 
                  
                    | String | DISC_NUMBER
                         Indexed value of MediaMetadataRetriever.METADATA_KEY_DISC_NUMBERextracted from this media item.This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_STRING, and are read-only and cannot be mutated. | 
                  
                    | String | DISPLAY_NAME
                         The display name of the media item.   For example, an item stored at /storage/0000-0000/DCIM/Vacation/IMG1024.JPGwould have a display name ofIMG1024.JPG.This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_STRING. | 
                  
                    | String | DOCUMENT_ID
                         The "document ID" GUID as defined by the XMP Media Management standard, extracted from any XMP metadata contained within this media item. The value is nullwhen no metadata was found.  Each "document ID" is created once for each new resource. Different renditions of that resource are expected to have different IDs. This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_STRING, and are read-only and cannot be mutated. | 
                  
                    | String | DURATION
                         Indexed value of MediaMetadataRetriever.METADATA_KEY_DURATIONextracted from this media item.Value is a non-negative duration in milliseconds.
 This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_INTEGER, and are read-only and cannot be mutated. | 
                  
                    | String | GENERATION_ADDED
                         Generation number at which metadata for this media item was first inserted. This is useful for apps that are attempting to quickly identify exactly which media items have been added since a previous point in time. Generation numbers are monotonically increasing over time, and can be safely arithmetically compared.   Detecting media additions using generation numbers is more robust than using DATE_ADDED, since those values may change in unexpected ways when apps useFile.setLastModified(long)or when the system clock is set incorrectly.  Note that before comparing these detailed generation values, you should first confirm that the overall version hasn't changed by checking MediaStore.getVersion(Context, String), since that indicates when a more radical change has occurred. If the overall version changes, you should assume that generation numbers have been reset and perform a full synchronization pass.This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_INTEGER, and are read-only and cannot be mutated. | 
                  
                    | String | GENERATION_MODIFIED
                         Generation number at which metadata for this media item was last changed. This is useful for apps that are attempting to quickly identify exactly which media items have changed since a previous point in time. Generation numbers are monotonically increasing over time, and can be safely arithmetically compared.   Detecting media changes using generation numbers is more robust than using DATE_MODIFIED, since those values may change in unexpected ways when apps useFile.setLastModified(long)or when the system clock is set incorrectly.  Note that before comparing these detailed generation values, you should first confirm that the overall version hasn't changed by checking MediaStore.getVersion(Context, String), since that indicates when a more radical change has occurred. If the overall version changes, you should assume that generation numbers have been reset and perform a full synchronization pass.This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_INTEGER, and are read-only and cannot be mutated. | 
                  
                    | String | HEIGHT
                         Indexed value of MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT,MediaMetadataRetriever.METADATA_KEY_IMAGE_HEIGHTorExifInterface.TAG_IMAGE_LENGTHextracted from this media item.  Type: INTEGER This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_INTEGER, and are read-only and cannot be mutated. | 
                  
                    | String | INFERRED_DATE
                         File's approximate creation date.   Following is the derivation logic: 1. If MediaColumns.DATE_TAKENis present, use it. 2. IfMediaColumns.DATE_TAKENis absent, useMediaColumns.DATE_MODIFIED. Note: When QUERY_ARG_MEDIA_STANDARD_SORT_ORDER query argument is used, the sorting is based on this column in descending order.This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_INTEGER, and are read-only and cannot be mutated. | 
                  
                    | String | INSTANCE_ID
                         The "instance ID" GUID as defined by the XMP Media Management standard, extracted from any XMP metadata contained within this media item. The value is nullwhen no metadata was found.  This "instance ID" changes with each save operation of a specific "document ID". This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_STRING, and are read-only and cannot be mutated. | 
                  
                    | String | IS_DOWNLOAD
                         Flag indicating if the media item has been marked as being part of the Downloadscollection.This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_INTEGER, and are read-only and cannot be mutated. | 
                  
                    | String | IS_DRM
                         Flag indicating if a media item is DRM protected. This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_INTEGER. | 
                  
                    | String | IS_FAVORITE
                         Flag indicating if the media item has been marked as being a "favorite" by the user. This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_INTEGER. | 
                  
                    | String | IS_PENDING
                         Flag indicating if a media item is pending, and still being inserted by its owner. While this flag is set, only the owner of the item can open the underlying file; requests from other apps will be rejected.   Pending items are retained either until they are published by setting the field to 0, or until they expire as defined byDATE_EXPIRES.This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_INTEGER. | 
                  
                    | String | IS_TRASHED
                         Flag indicating if a media item is trashed.   Trashed items are retained until they expire as defined by DATE_EXPIRES.This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_INTEGER. | 
                  
                    | String | MIME_TYPE
                         The MIME type of the media item.   This is typically defined based on the file extension of the media item. However, it may be the value of the formatattribute defined by the Dublin Core Media Initiative standard, extracted from any XMP metadata contained within this media item.  Note: the formatattribute may be ignored if the top-level MIME type disagrees with the file extension. For example, it's reasonable for animage/jpegfile to declare aformatofimage/vnd.google.panorama360+jpg, but declaring aformatofaudio/oggwould be ignored.  This is a read-only column that is automatically computed. This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_STRING. | 
                  
                    | String | NUM_TRACKS
                         Indexed value of MediaMetadataRetriever.METADATA_KEY_NUM_TRACKSextracted from this media item.This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_INTEGER, and are read-only and cannot be mutated. | 
                  
                    | String | OEM_METADATA
                         Column which allows OEMs to store custom metadata for a media file. This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_BLOB, and are read-only and cannot be mutated. | 
                  
                    | String | ORIENTATION
                         Indexed value of MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION,MediaMetadataRetriever.METADATA_KEY_IMAGE_ROTATION, orExifInterface.TAG_ORIENTATIONextracted from this media item.  For consistency the indexed value is expressed in degrees, such as 0, 90, 180, or 270.   Type: INTEGER This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_INTEGER, and are read-only and cannot be mutated. | 
                  
                    | String | ORIGINAL_DOCUMENT_ID
                         The "original document ID" GUID as defined by the XMP Media Management standard, extracted from any XMP metadata contained within this media item.   This "original document ID" links a resource to its original source. For example, when you save a PSD document as a JPEG, then convert the JPEG to GIF format, the "original document ID" of both the JPEG and GIF files is the "document ID" of the original PSD file. This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_STRING, and are read-only and cannot be mutated. | 
                  
                    | String | OWNER_PACKAGE_NAME
                         Package name that contributed this media. The value may be NULLif ownership cannot be reliably determined.  From Android Build.VERSION_CODES.UPSIDE_DOWN_CAKEonwards, visibility and query of this field will depend on package visibility. For android.content.ContentResolver#query operation, result set will be restricted to visible packages only.This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_STRING, and are read-only and cannot be mutated. | 
                  
                    | String | RELATIVE_PATH
                         Relative path of this media item within the storage device where it is persisted. For example, an item stored at /storage/0000-0000/DCIM/Vacation/IMG1024.JPGwould have a path ofDCIM/Vacation/.  This value should only be used for organizational purposes, and you should not attempt to construct or access a raw filesystem path using this value. If you need to open a media item, use an API like ContentResolver.openFileDescriptor(Uri, String).  When this value is set to NULLduring an android.content.ContentResolver#insert operation, the newly created item will be placed in a relevant default location based on the type of media being inserted. For example, aimage/jpegitem will be placed underEnvironment.DIRECTORY_PICTURES.  You can modify this column during an android.content.ContentResolver#update call, which will move the underlying file on disk.   In both cases above, content must be placed under a top-level directory that is relevant to the media type. For example, attempting to place a audio/mpegfile underEnvironment.DIRECTORY_PICTURESwill be rejected.This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_STRING. | 
                  
                    | String | RESOLUTION
                         Calculated value that combines WIDTHandHEIGHTinto a user-presentable string.This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_STRING, and are read-only and cannot be mutated. | 
                  
                    | String | SIZE
                         Indexed value of File.length()extracted from this media item.Value is a non-negative number of bytes.
 This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_INTEGER, and are read-only and cannot be mutated. | 
                  
                    | String | TITLE
                         Indexed value of MediaMetadataRetriever.METADATA_KEY_TITLEextracted from this media item.This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_STRING, and are read-only and cannot be mutated. | 
                  
                    | String | VOLUME_NAME
                         Volume name of the specific storage device where this media item is persisted. The value is typically one of the volume names returned from MediaStore.getExternalVolumeNames(Context).  This is a read-only column that is automatically computed. This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_STRING, and are read-only and cannot be mutated. | 
                  
                    | String | WIDTH
                         Indexed value of MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH,MediaMetadataRetriever.METADATA_KEY_IMAGE_WIDTHorExifInterface.TAG_IMAGE_WIDTHextracted from this media item.  Type: INTEGER This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_INTEGER, and are read-only and cannot be mutated. | 
                  
                    | String | WRITER
                         Indexed value of MediaMetadataRetriever.METADATA_KEY_WRITERextracted from this media item.This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_STRING, and are read-only and cannot be mutated. | 
                  
                    | String | XMP
                         Indexed XMP metadata extracted from this media item.   The structure of this metadata is defined by the XMP Media Management standard, published as ISO 16684-1:2012.   This metadata is typically extracted from a ExifInterface.TAG_XMPcontained inside an image file or from aXMP_box contained inside an ISO/IEC base media file format (MPEG-4 Part 12).  Note that any location details are redacted from this metadata for privacy reasons. This constant represents a column name that can be used with a
 android.content.ContentProviderthrough aandroid.content.ContentValuesorandroid.database.Cursorobject. The values stored in this column areCursor#FIELD_TYPE_BLOB, and are read-only and cannot be mutated. |