# Print output for @column tags ?>
Developers

- Design
- Develop
- Distribute

Developer Console

## Most visited

## Recently visited

## Results for

Summary: Constants | Inherited Constants | Methods | Inherited Methods

# ContactsContract.CommonDataKinds.Relation

`public static final class ContactsContract.CommonDataKinds.Relation`
`extends Object` `implements ContactsContract.DataColumnsWithJoins, ContactsContract.CommonDataKinds.CommonColumns`

java.lang.Object
↳ | android.provider.ContactsContract.CommonDataKinds.Relation

A data kind representing a relation.

You can use all columns defined for `ContactsContract.Data` as well as the following aliases.

## Column aliases

Type | Alias | Data column
--- | --- | ---
String | `NAME` | `ContactsContract.DataColumns.DATA1` |
int | `ContactsContract.CommonDataKinds.CommonColumns.TYPE` | `ContactsContract.DataColumns.DATA2` | Allowed values are: `ContactsContract.CommonDataKinds.BaseTypes.TYPE_CUSTOM`. Put the actual type in `ContactsContract.CommonDataKinds.CommonColumns.LABEL`. `TYPE_ASSISTANT` `TYPE_BROTHER` `TYPE_CHILD` `TYPE_DOMESTIC_PARTNER` `TYPE_FATHER` `TYPE_FRIEND` `TYPE_MANAGER` `TYPE_MOTHER` `TYPE_PARENT` `TYPE_PARTNER` `TYPE_REFERRED_BY` `TYPE_RELATIVE` `TYPE_SISTER` `TYPE_SPOUSE`
String | `ContactsContract.CommonDataKinds.CommonColumns.LABEL` | `ContactsContract.DataColumns.DATA3` |

## Summary

### Constants
`String` | `CONTENT_ITEM_TYPE` MIME type used when storing this in data table.
`String` | `EXTRA_ADDRESS_BOOK_INDEX` Add this query parameter to a URI to get back row counts grouped by the address book index as cursor extras.
`String` | `EXTRA_ADDRESS_BOOK_INDEX_COUNTS` The array of group counts for the corresponding group.
`String` | `EXTRA_ADDRESS_BOOK_INDEX_TITLES` The array of address book index titles, which are returned in the same order as the data in the cursor.
`String` | `NAME` The name of the relative as the user entered it.
`int` | `TYPE_ASSISTANT`
`int` | `TYPE_BROTHER`
`int` | `TYPE_CHILD`
`int` | `TYPE_DOMESTIC_PARTNER`
`int` | `TYPE_FATHER`
`int` | `TYPE_FRIEND`
`int` | `TYPE_MANAGER`
`int` | `TYPE_MOTHER`
`int` | `TYPE_PARENT`
`int` | `TYPE_PARTNER`
`int` | `TYPE_REFERRED_BY`
`int` | `TYPE_RELATIVE`
`int` | `TYPE_SISTER`
`int` | `TYPE_SPOUSE`

### Inherited constants
From interface `android.provider.ContactsContract.CommonDataKinds.CommonColumns`
`String` | `DATA` The data for the contact method.
`String` | `LABEL` The user defined label for the the contact method.
`String` | `TYPE` The type of data, for example Home or Work.
From interface `android.provider.BaseColumns`
`String` | `_COUNT` The count of rows in a directory.
`String` | `_ID` The unique ID for a row.
From interface `android.provider.ContactsContract.DataColumns`
`String` | `CARRIER_PRESENCE` Carrier presence information.
`int` | `CARRIER_PRESENCE_VT_CAPABLE` Indicates that the entry is Video Telephony (VT) capable on the current carrier.
`String` | `DATA1` Generic data column, the meaning is `MIMETYPE` specific
`String` | `DATA10` Generic data column, the meaning is `MIMETYPE` specific
`String` | `DATA11` Generic data column, the meaning is `MIMETYPE` specific
`String` | `DATA12` Generic data column, the meaning is `MIMETYPE` specific
`String` | `DATA13` Generic data column, the meaning is `MIMETYPE` specific
`String` | `DATA14` Generic data column, the meaning is `MIMETYPE` specific
`String` | `DATA15` Generic data column, the meaning is `MIMETYPE` specific.
`String` | `DATA2` Generic data column, the meaning is `MIMETYPE` specific
`String` | `DATA3` Generic data column, the meaning is `MIMETYPE` specific
`String` | `DATA4` Generic data column, the meaning is `MIMETYPE` specific
`String` | `DATA5` Generic data column, the meaning is `MIMETYPE` specific
`String` | `DATA6` Generic data column, the meaning is `MIMETYPE` specific
`String` | `DATA7` Generic data column, the meaning is `MIMETYPE` specific
`String` | `DATA8` Generic data column, the meaning is `MIMETYPE` specific
`String` | `DATA9` Generic data column, the meaning is `MIMETYPE` specific
`String` | `DATA_VERSION` The version of this data record.
`String` | `IS_PRIMARY` Whether this is the primary entry of its kind for the raw contact it belongs to.
`String` | `IS_READ_ONLY` The "read-only" flag: "0" by default, "1" if the row cannot be modified or deleted except by a sync adapter.
`String` | `IS_SUPER_PRIMARY` Whether this is the primary entry of its kind for the aggregate contact it belongs to.
`String` | `MIMETYPE` The MIME type of the item represented by this row.
`String` | `PREFERRED_PHONE_ACCOUNT_COMPONENT_NAME` The flattened `ComponentName` of a `PhoneAccountHandle` that is the preferred `PhoneAccountHandle` to call the contact with.
`String` | `PREFERRED_PHONE_ACCOUNT_ID` The ID of a `PhoneAccountHandle` that is the preferred `PhoneAccountHandle` to call the contact with.
`String` | `RAW_CONTACT_ID` A reference to the `RawContacts#_ID` that this data belongs to.
`String` | `RES_PACKAGE` The package name to use when creating `Resources` objects for this data row.
`String` | `SYNC1` Generic column for use by sync adapters.
`String` | `SYNC2` Generic column for use by sync adapters.
`String` | `SYNC3` Generic column for use by sync adapters.
`String` | `SYNC4` Generic column for use by sync adapters.
From interface `android.provider.ContactsContract.StatusColumns`
`int` | `AVAILABLE` An allowed value of `PRESENCE`.
`int` | `AWAY` An allowed value of `PRESENCE`.
`int` | `CAPABILITY_HAS_CAMERA` An allowed flag of `CHAT_CAPABILITY`.
`int` | `CAPABILITY_HAS_VIDEO` An allowed flag of `CHAT_CAPABILITY`.
`int` | `CAPABILITY_HAS_VOICE` An allowed flag of `CHAT_CAPABILITY`.
`String` | `CHAT_CAPABILITY` Contact's audio/video chat capability level.
`int` | `DO_NOT_DISTURB` An allowed value of `PRESENCE`.
`int` | `IDLE` An allowed value of `PRESENCE`.
`int` | `INVISIBLE` An allowed value of `PRESENCE`.
`int` | `OFFLINE` An allowed value of `PRESENCE`.
`String` | `PRESENCE` Contact's latest presence level.
`String` | `PRESENCE_CUSTOM_STATUS` This constant is deprecated. use `STATUS`
`String` | `PRESENCE_STATUS` This constant is deprecated. use `PRESENCE`
`String` | `STATUS` Contact latest status update.
`String` | `STATUS_ICON` The resource ID of the icon for the source of the status update.
`String` | `STATUS_LABEL` The resource ID of the label describing the source of the status update, e.g. "Google Talk".
`String` | `STATUS_RES_PACKAGE` The package containing resources for this status: label and icon.
`String` | `STATUS_TIMESTAMP` The absolute time in milliseconds when the latest status was inserted/updated.
From interface `android.provider.ContactsContract.RawContactsColumns`
`String` | `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.
`String` | `AGGREGATION_MODE` The aggregation mode for this contact.
`String` | `BACKUP_ID` Persistent unique id for each raw_contact within its account.
`String` | `CONTACT_ID` A reference to the `ContactsContract.Contacts#_ID` that this data belongs to.
`String` | `DATA_SET` The data set within the account that this row belongs to.
`String` | `DELETED` The "deleted" flag: "0" by default, "1" if the row has been marked for deletion.
`String` | `METADATA_DIRTY` This constant is deprecated. This column never actually worked since added. It will not supported as of Android version `Build.VERSION_CODES.R`.
`String` | `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.
`String` | `RAW_CONTACT_IS_USER_PROFILE` Flag that reflects whether this raw contact belongs to the user's personal profile entry.
From interface `android.provider.ContactsContract.ContactsColumns`
`String` | `CONTACT_LAST_UPDATED_TIMESTAMP` Timestamp (milliseconds since epoch) of when this contact was last updated.
`String` | `DISPLAY_NAME` The display name for the contact.
`String` | `HAS_PHONE_NUMBER` An indicator of whether this contact has at least one phone number.
`String` | `IN_DEFAULT_DIRECTORY` Flag that reflects whether the contact exists inside the default directory.
`String` | `IN_VISIBLE_GROUP` Flag that reflects the `Groups#GROUP_VISIBLE` state of any `CommonDataKinds.GroupMembership` for this contact.
`String` | `IS_USER_PROFILE` Flag that reflects whether this contact represents the user's personal profile entry.
`String` | `LOOKUP_KEY` An opaque value that contains hints on how to find the contact if its row id changed as a result of a sync or aggregation.
`String` | `NAME_RAW_CONTACT_ID` Reference to the row in the RawContacts table holding the contact name.
`String` | `PHOTO_FILE_ID` Photo file ID of the full-size photo.
`String` | `PHOTO_ID` Reference to the row in the data table holding the photo.
`String` | `PHOTO_THUMBNAIL_URI` A URI that can be used to retrieve a thumbnail of the contact's photo.
`String` | `PHOTO_URI` A URI that can be used to retrieve the contact's full-size photo.
From interface `android.provider.ContactsContract.ContactNameColumns`
`String` | `DISPLAY_NAME_ALTERNATIVE` An alternative representation of the display name, such as "family name first" instead of "given name first" for Western names.
`String` | `DISPLAY_NAME_PRIMARY` The standard text shown as the contact's display name, based on the best available information for the contact (for example, it might be the email address if the name is not available).
`String` | `DISPLAY_NAME_SOURCE` The kind of data that is used as the display name for the contact, such as structured name or email address.
`String` | `PHONETIC_NAME` Pronunciation of the full name in the phonetic alphabet specified by `PHONETIC_NAME_STYLE`.
`String` | `PHONETIC_NAME_STYLE` The phonetic alphabet used to represent the `PHONETIC_NAME`.
`String` | `SORT_KEY_ALTERNATIVE` Sort key based on the alternative representation of the full name, `DISPLAY_NAME_ALTERNATIVE`.
`String` | `SORT_KEY_PRIMARY` Sort key that takes into account locale-based traditions for sorting names in address books.
From interface `android.provider.ContactsContract.ContactOptionsColumns`
`String` | `CUSTOM_RINGTONE` URI for a custom ringtone associated with the contact.
`String` | `LAST_TIME_CONTACTED` This constant is deprecated. Contacts affinity information is no longer supported as of Android version `Build.VERSION_CODES.Q`. This column always contains 0.
`String` | `PINNED` The position at which the contact is pinned.
`String` | `SEND_TO_VOICEMAIL` Whether the contact should always be sent to voicemail.
`String` | `STARRED` Is the contact starred? Type: INTEGER (boolean)
`String` | `TIMES_CONTACTED` This constant is deprecated. Contacts affinity information is no longer supported as of Android version `Build.VERSION_CODES.Q`. This column always contains 0.
From interface `android.provider.ContactsContract.ContactStatusColumns`
`String` | `CONTACT_CHAT_CAPABILITY` Contact Chat Capabilities.
`String` | `CONTACT_PRESENCE` Contact presence status.
`String` | `CONTACT_STATUS` Contact's latest status update.
`String` | `CONTACT_STATUS_ICON` The resource ID of the icon for the source of contact status.
`String` | `CONTACT_STATUS_LABEL` The resource ID of the label describing the source of contact status, e.g. "Google Talk".
`String` | `CONTACT_STATUS_RES_PACKAGE` The package containing resources for this status: label and icon.
`String` | `CONTACT_STATUS_TIMESTAMP` The absolute time in milliseconds when the latest status was inserted/updated.
From interface `android.provider.ContactsContract.DataUsageStatColumns`
`String` | `LAST_TIME_USED` This constant is deprecated. Contacts affinity information is no longer supported as of Android version `Build.VERSION_CODES.Q`. This column always contains 0. Caution: If you publish your app to the Google Play Store, this field is obsolete, regardless of Android version. For more information, see the Contacts Provider page.
`String` | `TIMES_USED` This constant is deprecated. Contacts affinity information is no longer supported as of Android version `Build.VERSION_CODES.Q`. This column always contains 0. Caution: If you publish your app to the Google Play Store, this field is obsolete, regardless of Android version. For more information, see the Contacts Provider page.
From interface `android.provider.ContactsContract.CommonDataKinds.BaseTypes`
`int` | `TYPE_CUSTOM` A custom type.

### Public methods
`static CharSequence` | `getTypeLabel(Resources res, int type, CharSequence label)` Return a `CharSequence` that best describes the given type, possibly substituting the given `ContactsContract.CommonDataKinds.CommonColumns.LABEL` value for `ContactsContract.CommonDataKinds.BaseTypes.TYPE_CUSTOM`.
`static int` | `getTypeLabelResource(int type)` Return the string resource that best describes the given `ContactsContract.CommonDataKinds.CommonColumns.TYPE`.

### Inherited methods
From class `java.lang.Object`
`Object` | `clone()` Creates and returns a copy of this object.
`boolean` | `equals(Object obj)` Indicates whether some other object is "equal to" this one.
`void` | `finalize()` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
`final Class<?>` | `getClass()` Returns the runtime class of this `Object`.
`int` | `hashCode()` Returns a hash code value for the object.
`final void` | `notify()` Wakes up a single thread that is waiting on this object's monitor.
`final void` | `notifyAll()` Wakes up all threads that are waiting on this object's monitor.
`String` | `toString()` Returns a string representation of the object.
`final void` | `wait(long timeout, int nanos)` Causes the current thread to wait until another thread invokes the `notify()` method or the `notifyAll()` method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.
`final void` | `wait(long timeout)` Causes the current thread to wait until either another thread invokes the `notify()` method or the `notifyAll()` method for this object, or a specified amount of time has elapsed.
`final void` | `wait()` Causes the current thread to wait until another thread invokes the `notify()` method or the `notifyAll()` method for this object.

## Constants

### CONTENT_ITEM_TYPE

    public static final String CONTENT_ITEM_TYPE

MIME type used when storing this in data table.

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

### EXTRA_ADDRESS_BOOK_INDEX

    public static final String EXTRA_ADDRESS_BOOK_INDEX

Add this query parameter to a URI to get back row counts grouped by the address book index as cursor extras. For most languages it is the first letter of the sort key. This parameter does not affect the main content of the cursor.

     Example:

     import android.provider.ContactsContract.Contacts;

     Uri uri = Contacts.CONTENT_URI.buildUpon()
              .appendQueryParameter(Contacts.EXTRA_ADDRESS_BOOK_INDEX, "true")
              .build();
     Cursor cursor = getContentResolver().query(uri,
              new String[] {Contacts.DISPLAY_NAME},
              null, null, null);
     Bundle bundle = cursor.getExtras();
     if (bundle.containsKey(Contacts.EXTRA_ADDRESS_BOOK_INDEX_TITLES) &&
             bundle.containsKey(Contacts.EXTRA_ADDRESS_BOOK_INDEX_COUNTS)) {
         String sections[] =
                 bundle.getStringArray(Contacts.EXTRA_ADDRESS_BOOK_INDEX_TITLES);
         int counts[] = bundle.getIntArray(Contacts.EXTRA_ADDRESS_BOOK_INDEX_COUNTS);
     }

Constant Value: "android.provider.extra.ADDRESS_BOOK_INDEX"

### EXTRA_ADDRESS_BOOK_INDEX_COUNTS

    public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS

The array of group counts for the corresponding group. Contains the same number of elements as the EXTRA_ADDRESS_BOOK_INDEX_TITLES array.

TYPE: int[]

Constant Value: "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS"

### EXTRA_ADDRESS_BOOK_INDEX_TITLES

    public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES

The array of address book index titles, which are returned in the same order as the data in the cursor.

TYPE: String[]

Constant Value: "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES"

### NAME

    public static final String NAME

The name of the relative as the user entered it.

Type: TEXT

Constant Value: "data1"

### TYPE_ASSISTANT

    public static final int TYPE_ASSISTANT

Constant Value: 1 (0x00000001)

### TYPE_BROTHER

    public static final int TYPE_BROTHER

Constant Value: 2 (0x00000002)

### TYPE_CHILD

    public static final int TYPE_CHILD

Constant Value: 3 (0x00000003)

### TYPE_DOMESTIC_PARTNER

    public static final int TYPE_DOMESTIC_PARTNER

Constant Value: 4 (0x00000004)

### TYPE_FATHER

    public static final int TYPE_FATHER

Constant Value: 5 (0x00000005)

### TYPE_FRIEND

    public static final int TYPE_FRIEND

Constant Value: 6 (0x00000006)

### TYPE_MANAGER

    public static final int TYPE_MANAGER

Constant Value: 7 (0x00000007)

### TYPE_MOTHER

    public static final int TYPE_MOTHER

Constant Value: 8 (0x00000008)

### TYPE_PARENT

    public static final int TYPE_PARENT

Constant Value: 9 (0x00000009)

### TYPE_PARTNER

    public static final int TYPE_PARTNER

Constant Value: 10 (0x0000000a)

### TYPE_REFERRED_BY

    public static final int TYPE_REFERRED_BY

Constant Value: 11 (0x0000000b)

### TYPE_RELATIVE

    public static final int TYPE_RELATIVE

Constant Value: 12 (0x0000000c)

### TYPE_SISTER

    public static final int TYPE_SISTER

Constant Value: 13 (0x0000000d)

### TYPE_SPOUSE

    public static final int TYPE_SPOUSE

Constant Value: 14 (0x0000000e)

## Public methods

### getTypeLabel

    public static CharSequence getTypeLabel (Resources res,
                    int type,
                    CharSequence label)

Return a `CharSequence` that best describes the given type, possibly substituting the given `ContactsContract.CommonDataKinds.CommonColumns.LABEL` value for `ContactsContract.CommonDataKinds.BaseTypes.TYPE_CUSTOM`.

Parameters
`res` | `Resources`
`type` | `int`
`label` | `CharSequence`

Returns
`CharSequence` |

### getTypeLabelResource

    public static int getTypeLabelResource (int type)

Return the string resource that best describes the given `ContactsContract.CommonDataKinds.CommonColumns.TYPE`. Will always return a valid resource.

Parameters
`type` | `int`

Returns
`int` |

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