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

# ContactsContract.RawContactsEntity

*** ** * ** ***

` public static final class ContactsContract.RawContactsEntity `   
` extends https://developer.android.com/reference/java/lang/Object ` ` implements https://developer.android.com/reference/android/provider/BaseColumns, https://developer.android.com/reference/android/provider/ContactsContract.DataColumns, https://developer.android.com/reference/android/provider/ContactsContract.RawContactsColumns `

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.provider.ContactsContract.RawContactsEntity |

<br />

*** ** * ** ***

<br />

Constants for the raw contacts entities table, which can be thought of as an outer join of the raw_contacts table with the data table. It is a strictly read-only table.

If a raw contact has data rows, the RawContactsEntity cursor will contain a one row for each data row. If the raw contact has no data rows, the cursor will still contain one row with the raw contact-level information and nulls for data columns.

```
Uri entityUri = ContentUris.withAppendedId(RawContactsEntity.CONTENT_URI, rawContactId);
Cursor c = getContentResolver().query(entityUri,
         new String[]{
             RawContactsEntity.SOURCE_ID,
             RawContactsEntity.DATA_ID,
             RawContactsEntity.MIMETYPE,
             RawContactsEntity.DATA1
         }, null, null, null);
try {
    while (c.moveToNext()) {
        String sourceId = c.getString(0);
        if (!c.isNull(1)) {
            String mimeType = c.getString(2);
            String data = c.getString(3);
            ...
        }
    }
} finally {
    c.close();
}
```

### Columns

RawContactsEntity has a combination of RawContact and Data columns.

| RawContacts ||||
|---|---|---|---|
| long | `https://developer.android.com/reference/android/provider/BaseColumns#_ID` | read-only | Raw contact row ID. See `https://developer.android.com/reference/android/provider/ContactsContract.RawContacts`. |
| long | `https://developer.android.com/reference/android/provider/ContactsContract.RawContactsColumns#CONTACT_ID` | read-only | See `https://developer.android.com/reference/android/provider/ContactsContract.RawContacts`. |
| int | `https://developer.android.com/reference/android/provider/ContactsContract.RawContactsColumns#AGGREGATION_MODE` | read-only | See `https://developer.android.com/reference/android/provider/ContactsContract.RawContacts`. |
| int | `https://developer.android.com/reference/android/provider/ContactsContract.RawContactsColumns#DELETED` | read-only | See `https://developer.android.com/reference/android/provider/ContactsContract.RawContacts`. |

| Data ||||
|---|---|---|---|
| long | `https://developer.android.com/reference/android/provider/ContactsContract.RawContactsEntity#DATA_ID` | read-only | Data row ID. It will be null if the raw contact has no data rows. |
| String | `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#MIMETYPE` | read-only | See `https://developer.android.com/reference/android/provider/ContactsContract.Data`. |
| int | `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#IS_PRIMARY` | read-only | See `https://developer.android.com/reference/android/provider/ContactsContract.Data`. |
| int | `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#IS_SUPER_PRIMARY` | read-only | See `https://developer.android.com/reference/android/provider/ContactsContract.Data`. |
| int | `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA_VERSION` | read-only | See `https://developer.android.com/reference/android/provider/ContactsContract.Data`. |
| Any type | `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA1` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA2` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA3` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA4` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA5` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA6` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA7` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA8` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA9` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA10` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA11` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA12` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA13` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA14` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA15` | read-only | See `https://developer.android.com/reference/android/provider/ContactsContract.Data`. |
| Any type | `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#SYNC1` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#SYNC2` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#SYNC3` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#SYNC4` | read-only | See `https://developer.android.com/reference/android/provider/ContactsContract.Data`. |

<br />

## Summary

| ### Constants ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.RawContactsEntity#CONTENT_TYPE` The MIME type of `https://developer.android.com/reference/android/provider/ContactsContract.RawContactsEntity#CONTENT_URI` providing a directory of raw contact entities. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.RawContactsEntity#DATA_ID` The ID of the data column. |

### Inherited constants

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.
From interface `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns` `https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#CARRIER_PRESENCE`

*This constant was deprecated in API level 31. The contacts database will only show presence information on devices where `https://developer.android.com/reference/android/telephony/CarrierConfigManager#KEY_USE_RCS_PRESENCE_BOOL` is true, otherwise use `https://developer.android.com/reference/android/telephony/ims/RcsUceAdapter`.*
`int` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#CARRIER_PRESENCE_VT_CAPABLE`

*This constant was deprecated in API level 31. Same as `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#CARRIER_PRESENCE`.*
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA1`

Generic data column, the meaning is `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#MIMETYPE` specific
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA10`

Generic data column, the meaning is `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#MIMETYPE` specific
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA11`

Generic data column, the meaning is `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#MIMETYPE` specific
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA12`

Generic data column, the meaning is `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#MIMETYPE` specific
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA13`

Generic data column, the meaning is `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#MIMETYPE` specific
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA14`

Generic data column, the meaning is `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#MIMETYPE` specific
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA15`

Generic data column, the meaning is `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#MIMETYPE` specific.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA2`

Generic data column, the meaning is `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#MIMETYPE` specific
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA3`

Generic data column, the meaning is `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#MIMETYPE` specific
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA4`

Generic data column, the meaning is `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#MIMETYPE` specific
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA5`

Generic data column, the meaning is `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#MIMETYPE` specific
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA6`

Generic data column, the meaning is `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#MIMETYPE` specific
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA7`

Generic data column, the meaning is `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#MIMETYPE` specific
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA8`

Generic data column, the meaning is `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#MIMETYPE` specific
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA9`

Generic data column, the meaning is `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#MIMETYPE` specific
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#DATA_VERSION`

The version of this data record.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#IS_PRIMARY`

Whether this is the primary entry of its kind for the raw contact it belongs to.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#IS_READ_ONLY`

The "read-only" flag: "0" by default, "1" if the row cannot be modified or deleted except by a sync adapter.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#IS_SUPER_PRIMARY`

Whether this is the primary entry of its kind for the aggregate contact it belongs to.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#MIMETYPE`

The MIME type of the item represented by this row.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#PREFERRED_PHONE_ACCOUNT_COMPONENT_NAME`

The flattened `https://developer.android.com/reference/android/content/ComponentName` of a `https://developer.android.com/reference/android/telecom/PhoneAccountHandle` that is the preferred `PhoneAccountHandle` to call the contact with.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#PREFERRED_PHONE_ACCOUNT_ID`

The ID of a `https://developer.android.com/reference/android/telecom/PhoneAccountHandle` that is the preferred `PhoneAccountHandle` to call the contact with.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#RAW_CONTACT_ID`

A reference to the `https://developer.android.com/reference/android/provider/BaseColumns#_ID` that this data belongs to.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#RES_PACKAGE`

The package name to use when creating `https://developer.android.com/reference/android/content/res/Resources` objects for this data row.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#SYNC1`

Generic column for use by sync adapters.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#SYNC2`

Generic column for use by sync adapters.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#SYNC3`

Generic column for use by sync adapters.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#SYNC4`

Generic column for use by sync adapters.
From interface `https://developer.android.com/reference/android/provider/ContactsContract.RawContactsColumns` `https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.RawContactsColumns#ACCOUNT_TYPE_AND_DATA_SET`

A concatenation of the account type and data set (delimited by a forward slash) - if the data set is empty, this will be the same as the account type.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.RawContactsColumns#AGGREGATION_MODE`

The aggregation mode for this contact.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.RawContactsColumns#BACKUP_ID`

Persistent unique id for each raw_contact within its account.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.RawContactsColumns#CONTACT_ID`

A reference to the `https://developer.android.com/reference/android/provider/BaseColumns#_ID` that this data belongs to.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.RawContactsColumns#DATA_SET`

The data set within the account that this row belongs to.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.RawContactsColumns#DELETED`

The "deleted" flag: "0" by default, "1" if the row has been marked for deletion.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.RawContactsColumns#METADATA_DIRTY`

*This constant was deprecated in API level 30. This column never actually worked since added. It will not supported as of Android version `https://developer.android.com/reference/android/os/Build.VERSION_CODES#R`.*
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.RawContactsColumns#RAW_CONTACT_IS_READ_ONLY`

The "read-only" flag: "0" by default, "1" if the row cannot be modified or deleted except by a sync adapter.
`https://developer.android.com/reference/java/lang/String` `https://developer.android.com/reference/android/provider/ContactsContract.RawContactsColumns#RAW_CONTACT_IS_USER_PROFILE`

Flag that reflects whether this raw contact belongs to the user's personal profile entry.

| ### Fields ||
|---|---|
| ` public static final https://developer.android.com/reference/android/net/Uri` | `https://developer.android.com/reference/android/provider/ContactsContract.RawContactsEntity#CONTENT_URI` The content:// style URI for this table |
| ` public static final https://developer.android.com/reference/android/net/Uri` | `https://developer.android.com/reference/android/provider/ContactsContract.RawContactsEntity#PROFILE_CONTENT_URI` The content:// style URI for this table, specific to the user's profile. |

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

### CONTENT_TYPE

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

```
public static final String CONTENT_TYPE
```

The MIME type of `https://developer.android.com/reference/android/provider/ContactsContract.RawContactsEntity#CONTENT_URI` providing a directory of raw contact entities.

<br />

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

### DATA_ID

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

```
public static final String DATA_ID
```

The ID of the data column. The value will be null if this raw contact has no data rows.

Type: INTEGER

<br />

<br />

Constant Value: "data_id"

## Fields

### CONTENT_URI

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

```
public static final Uri CONTENT_URI
```

The content:// style URI for this table

<br />

### PROFILE_CONTENT_URI

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

```
public static final Uri PROFILE_CONTENT_URI
```

The content:// style URI for this table, specific to the user's profile.

<br />