public static class ContactsContract.Contacts extends Object implements BaseColumns, ContactsContract.ContactsColumns, ContactsContract.ContactOptionsColumns, ContactsContract.ContactNameColumns, ContactsContract.ContactStatusColumns
ContactsContract.RawContactsColumns.CONTACT_ID
column gets the _ID of the aggregate
Contact. If no match is found, the provider automatically inserts a new
Contact and puts its _ID into the ContactsContract.RawContactsColumns.CONTACT_ID
column
of the newly inserted raw contact.ContactsContract.ContactOptionsColumns.TIMES_CONTACTED
, ContactsContract.ContactOptionsColumns.LAST_TIME_CONTACTED
, ContactsContract.ContactOptionsColumns.STARRED
,
ContactsContract.ContactOptionsColumns.CUSTOM_RINGTONE
, ContactsContract.ContactOptionsColumns.SEND_TO_VOICEMAIL
. Changing any of
these columns on the Contact also changes them on all constituent raw
contacts.CONTENT_LOOKUP_URI
instead of CONTENT_URI
.PhoneLookup.CONTENT_FILTER_URI
,
which is optimized for this purpose.CONTENT_FILTER_URI
URI.
ContactsContract.Data
table.
The result will contain contact ID, name etc.
Contacts | |||
---|---|---|---|
long | BaseColumns._ID |
read-only | Row ID. Consider using ContactsContract.ContactsColumns.LOOKUP_KEY instead. |
String | ContactsContract.ContactsColumns.LOOKUP_KEY |
read-only | 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. |
long | NAME_RAW_CONTACT_ID | read-only | The ID of the raw contact that contributes the display name to the aggregate contact. During aggregation one of the constituent raw contacts is chosen using a heuristic: a longer name or a name with more diacritic marks or more upper case characters is chosen. |
String | DISPLAY_NAME_PRIMARY | read-only | The display name for the contact. It is the display name contributed by the raw contact referred to by the NAME_RAW_CONTACT_ID column. |
long | ContactsContract.ContactsColumns.PHOTO_ID |
read-only | Reference to the row in the ContactsContract.Data table holding the photo.
That row has the mime type
ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE . The value of this field
is computed automatically based on the
ContactsContract.DataColumns.IS_SUPER_PRIMARY field of the data rows of
that mime type. |
long | ContactsContract.ContactsColumns.PHOTO_URI |
read-only | A URI that can be used to retrieve the contact's full-size photo. This column is the preferred method of retrieving the contact photo. |
long | ContactsContract.ContactsColumns.PHOTO_THUMBNAIL_URI |
read-only | A URI that can be used to retrieve the thumbnail of contact's photo. This column is the preferred method of retrieving the contact photo. |
int | ContactsContract.ContactsColumns.IN_VISIBLE_GROUP |
read-only | An indicator of whether this contact is supposed to be visible in the UI. "1" if the contact has at least one raw contact that belongs to a visible group; "0" otherwise. |
int | ContactsContract.ContactsColumns.HAS_PHONE_NUMBER |
read-only | An indicator of whether this contact has at least one phone number. "1" if there is at least one phone number, "0" otherwise. |
int | ContactsContract.ContactOptionsColumns.TIMES_CONTACTED |
read/write | The number of times the contact has been contacted. See
markAsContacted(android.content.ContentResolver, long) . When raw contacts are aggregated, this field is
computed automatically as the maximum number of times contacted among all
constituent raw contacts. Setting this field automatically changes the
corresponding field on all constituent raw contacts. |
long | ContactsContract.ContactOptionsColumns.LAST_TIME_CONTACTED |
read/write | The timestamp of the last time the contact was contacted. See
markAsContacted(android.content.ContentResolver, long) . Setting this field also automatically
increments ContactsContract.ContactOptionsColumns.TIMES_CONTACTED . When raw contacts are aggregated,
this field is computed automatically as the latest time contacted of all
constituent raw contacts. Setting this field automatically changes the
corresponding field on all constituent raw contacts. |
int | ContactsContract.ContactOptionsColumns.STARRED |
read/write | An indicator for favorite contacts: '1' if favorite, '0' otherwise. When raw contacts are aggregated, this field is automatically computed: if any constituent raw contacts are starred, then this field is set to '1'. Setting this field automatically changes the corresponding field on all constituent raw contacts. |
String | ContactsContract.ContactOptionsColumns.CUSTOM_RINGTONE |
read/write | A custom ringtone associated with a contact. Typically this is the
URI returned by an activity launched with the
RingtoneManager.ACTION_RINGTONE_PICKER intent. |
int | ContactsContract.ContactOptionsColumns.SEND_TO_VOICEMAIL |
read/write | An indicator of whether calls from this contact should be forwarded directly to voice mail ('1') or not ('0'). When raw contacts are aggregated, this field is automatically computed: if all constituent raw contacts have SEND_TO_VOICEMAIL=1, then this field is set to '1'. Setting this field automatically changes the corresponding field on all constituent raw contacts. |
int | ContactsContract.ContactStatusColumns.CONTACT_PRESENCE |
read-only | Contact IM presence status. See ContactsContract.StatusUpdates for individual
status definitions. Automatically computed as the highest presence of all
constituent raw contacts. The provider may choose not to store this value
in persistent storage. The expectation is that presence status will be
updated on a regular basic. |
String | ContactsContract.ContactStatusColumns.CONTACT_STATUS |
read-only | Contact's latest status update. Automatically computed as the latest of all constituent raw contacts' status updates. |
long | ContactsContract.ContactStatusColumns.CONTACT_STATUS_TIMESTAMP |
read-only | The absolute time in milliseconds when the latest status was inserted/updated. |
String | ContactsContract.ContactStatusColumns.CONTACT_STATUS_RES_PACKAGE |
read-only | The package containing resources for this status: label and icon. |
long | ContactsContract.ContactStatusColumns.CONTACT_STATUS_LABEL |
read-only | The resource ID of the label describing the source of contact status,
e.g. "Google Talk". This resource is scoped by the
ContactsContract.ContactStatusColumns.CONTACT_STATUS_RES_PACKAGE . |
long | ContactsContract.ContactStatusColumns.CONTACT_STATUS_ICON |
read-only | The resource ID of the icon for the source of contact status. This
resource is scoped by the ContactsContract.ContactStatusColumns.CONTACT_STATUS_RES_PACKAGE . |
Modifier and Type | Class and Description |
---|---|
static class |
ContactsContract.Contacts.AggregationSuggestions
A read-only sub-directory of a single contact aggregate that
contains all aggregation suggestions (other contacts).
|
static class |
ContactsContract.Contacts.Data
A sub-directory of a single contact that contains all of the constituent raw contact
ContactsContract.Data rows. |
static class |
ContactsContract.Contacts.Entity
A sub-directory of a contact that contains all of its
ContactsContract.RawContacts as well as
ContactsContract.Data rows. |
static class |
ContactsContract.Contacts.Photo
A read-only sub-directory of a single contact that contains
the contact's primary photo.
|
static class |
ContactsContract.Contacts.StreamItems
A sub-directory of a single contact that contains all of the constituent raw contact
ContactsContract.StreamItems rows. |
Modifier and Type | Field and Description |
---|---|
static Uri |
CONTENT_FILTER_URI
The content:// style URI used for "type-to-filter" functionality on the
CONTENT_URI URI. |
static Uri |
CONTENT_FREQUENT_URI
The content:// style URI for showing frequently contacted person listing.
|
static Uri |
CONTENT_GROUP_URI |
static String |
CONTENT_ITEM_TYPE
The MIME type of a
CONTENT_URI subdirectory of a single
person. |
static Uri |
CONTENT_LOOKUP_URI
A content:// style URI for this table that should be used to create
shortcuts or otherwise create long-term links to contacts.
|
static Uri |
CONTENT_MULTI_VCARD_URI
Base
Uri for referencing multiple Contacts entry,
created by appending ContactsContract.ContactsColumns.LOOKUP_KEY using
Uri.withAppendedPath(Uri, String) . |
static Uri |
CONTENT_STREQUENT_FILTER_URI
The content:// style URI used for "type-to-filter" functionality on the
CONTENT_STREQUENT_URI URI. |
static Uri |
CONTENT_STREQUENT_URI
The content:// style URI for this table joined with useful data from
ContactsContract.Data , filtered to include only starred contacts
and the most frequently contacted contacts. |
static String |
CONTENT_TYPE
The MIME type of
CONTENT_URI providing a directory of
people. |
static Uri |
CONTENT_URI
The content:// style URI for this table
|
static String |
CONTENT_VCARD_TYPE
The MIME type of a
CONTENT_URI subdirectory of a single
person. |
static Uri |
CONTENT_VCARD_URI
Base
Uri for referencing a single Contacts entry,
created by appending ContactsContract.ContactsColumns.LOOKUP_KEY using
Uri.withAppendedPath(Uri, String) . |
static String |
QUERY_PARAMETER_VCARD_NO_PHOTO
Boolean parameter that may be used with
CONTENT_VCARD_URI
and CONTENT_MULTI_VCARD_URI to indicate that the returned
vcard should not contain a photo. |
_COUNT, _ID
DISPLAY_NAME, HAS_PHONE_NUMBER, IN_VISIBLE_GROUP, IS_USER_PROFILE, LOOKUP_KEY, NAME_RAW_CONTACT_ID, PHOTO_FILE_ID, PHOTO_ID, PHOTO_THUMBNAIL_URI, PHOTO_URI
CUSTOM_RINGTONE, LAST_TIME_CONTACTED, SEND_TO_VOICEMAIL, STARRED, TIMES_CONTACTED
DISPLAY_NAME_ALTERNATIVE, DISPLAY_NAME_PRIMARY, DISPLAY_NAME_SOURCE, PHONETIC_NAME, PHONETIC_NAME_STYLE, SORT_KEY_ALTERNATIVE, SORT_KEY_PRIMARY
CONTACT_CHAT_CAPABILITY, CONTACT_PRESENCE, CONTACT_STATUS, CONTACT_STATUS_ICON, CONTACT_STATUS_LABEL, CONTACT_STATUS_RES_PACKAGE, CONTACT_STATUS_TIMESTAMP
Modifier and Type | Method and Description |
---|---|
static Uri |
getLookupUri(ContentResolver resolver,
Uri contactUri)
|
static Uri |
getLookupUri(long contactId,
String lookupKey)
Build a
CONTENT_LOOKUP_URI lookup Uri using the
given BaseColumns._ID and ContactsContract.ContactsColumns.LOOKUP_KEY . |
static Uri |
lookupContact(ContentResolver resolver,
Uri lookupUri)
Computes a content URI (see
CONTENT_URI ) given a lookup URI. |
static void |
markAsContacted(ContentResolver resolver,
long contactId)
Deprecated.
The class DataUsageStatUpdater of the Android support library should
be used instead.
|
static InputStream |
openContactPhotoInputStream(ContentResolver cr,
Uri contactUri)
Opens an InputStream for the contacts's thumbnail photo and returns the
photo as a byte stream.
|
static InputStream |
openContactPhotoInputStream(ContentResolver cr,
Uri contactUri,
boolean preferHighres)
Opens an InputStream for the contacts's photo and returns the
photo as a byte stream.
|
public static final Uri CONTENT_URI
public static final Uri CONTENT_LOOKUP_URI
ContactsContract.ContactsColumns.LOOKUP_KEY
.
It can optionally also have a "/" and last known contact ID appended after
that. This "complete" format is an important optimization and is highly recommended.
As long as the contact's row ID remains the same, this URI is
equivalent to CONTENT_URI
. If the contact's row ID changes
as a result of a sync or aggregation, this URI will look up the
contact using indirect information (sync IDs or constituent raw
contacts).
Lookup key should be appended unencoded - it is stored in the encoded form, ready for use in a URI.
public static final Uri CONTENT_VCARD_URI
Uri
for referencing a single Contacts
entry,
created by appending ContactsContract.ContactsColumns.LOOKUP_KEY
using
Uri.withAppendedPath(Uri, String)
. Provides
OpenableColumns
columns when queried, or returns the
referenced contact formatted as a vCard when opened through
ContentResolver.openAssetFileDescriptor(Uri, String)
.public static final String QUERY_PARAMETER_VCARD_NO_PHOTO
CONTENT_VCARD_URI
and CONTENT_MULTI_VCARD_URI
to indicate that the returned
vcard should not contain a photo.public static final Uri CONTENT_MULTI_VCARD_URI
Uri
for referencing multiple Contacts
entry,
created by appending ContactsContract.ContactsColumns.LOOKUP_KEY
using
Uri.withAppendedPath(Uri, String)
. The lookup keys have to be
encoded and joined with the colon (":") separator. The resulting string
has to be encoded again. Provides
OpenableColumns
columns when queried, or returns the
referenced contact formatted as a vCard when opened through
ContentResolver.openAssetFileDescriptor(Uri, String)
.
This is private API because we do not have a well-defined way to
specify several entities yet. The format of this Uri might change in the future
or the Uri might be completely removed.public static final Uri CONTENT_FILTER_URI
CONTENT_URI
URI. The filter string will be used to match
various parts of the contact name. The filter argument should be passed
as an additional path segment after this URI.public static final Uri CONTENT_STREQUENT_URI
ContactsContract.Data
, filtered to include only starred contacts
and the most frequently contacted contacts.public static final Uri CONTENT_FREQUENT_URI
public static final Uri CONTENT_STREQUENT_FILTER_URI
CONTENT_STREQUENT_URI
URI. The filter string will be used to match
various parts of the contact name. The filter argument should be passed
as an additional path segment after this URI.public static final Uri CONTENT_GROUP_URI
public static final String CONTENT_TYPE
CONTENT_URI
providing a directory of
people.public static final String CONTENT_ITEM_TYPE
CONTENT_URI
subdirectory of a single
person.public static final String CONTENT_VCARD_TYPE
CONTENT_URI
subdirectory of a single
person.public static Uri getLookupUri(ContentResolver resolver, Uri contactUri)
contactUri
- A CONTENT_URI
row, or an existing
CONTENT_LOOKUP_URI
to attempt refreshing.public static Uri getLookupUri(long contactId, String lookupKey)
CONTENT_LOOKUP_URI
lookup Uri
using the
given BaseColumns._ID
and ContactsContract.ContactsColumns.LOOKUP_KEY
.public static Uri lookupContact(ContentResolver resolver, Uri lookupUri)
CONTENT_URI
) given a lookup URI.
Returns null if the contact cannot be found.
@Deprecated public static void markAsContacted(ContentResolver resolver, long contactId)
ContactsContract.ContactOptionsColumns.TIMES_CONTACTED
and ContactsContract.ContactOptionsColumns.LAST_TIME_CONTACTED
. The
TIMES_CONTACTED field is incremented by 1 and the LAST_TIME_CONTACTED
field is populated with the current system time.resolver
- the ContentResolver to usecontactId
- the person who was contactedpublic static InputStream openContactPhotoInputStream(ContentResolver cr, Uri contactUri, boolean preferHighres)
cr
- The content resolver to use for queryingcontactUri
- the contact whose photo should be used. This can be used with
either a CONTENT_URI
or a CONTENT_LOOKUP_URI
URI.preferHighres
- If this is true and the contact has a higher resolution photo
available, it is returned. If false, this function always tries to get the thumbnailpublic static InputStream openContactPhotoInputStream(ContentResolver cr, Uri contactUri)
cr
- The content resolver to use for queryingcontactUri
- the contact whose photo should be used. This can be used with
either a CONTENT_URI
or a CONTENT_LOOKUP_URI
URI.#openContactPhotoInputStream(ContentResolver, Uri, boolean), if instead
of the thumbnail the high-res picture is preferred