ContactsContract.Profile


public static final class ContactsContract.Profile
extends Object implements BaseColumns, ContactsContract.ContactsColumns, ContactsContract.ContactOptionsColumns, ContactsContract.ContactNameColumns, ContactsContract.ContactStatusColumns

java.lang.Object
   ↳ android.provider.ContactsContract.Profile


Constants for the user's profile data, which is represented as a single contact on the device that represents the user. The profile contact is not aggregated together automatically in the same way that normal contacts are; instead, each account (including data set, if applicable) on the device may contribute a single raw contact representing the user's personal profile data from that source.

Access to the profile entry through these URIs (or incidental access to parts of the profile if retrieved directly via ID) requires additional permissions beyond the read/write contact permissions required by the provider. Querying for profile data requires android.permission.READ_PROFILE permission, and inserting or updating profile data requires android.permission.WRITE_PROFILE permission.

Operations

Insert
The user's profile entry cannot be created explicitly (attempting to do so will throw an exception). When a raw contact is inserted into the profile, the provider will check for the existence of a profile on the device. If one is found, the raw contact's RawContacts#CONTACT_ID column gets the _ID of the profile Contact. If no match is found, the profile Contact is created and its _ID is put into the RawContacts#CONTACT_ID column of the newly inserted raw contact.
Update
The profile Contact has the same update restrictions as Contacts in general, but requires the android.permission.WRITE_PROFILE permission.
Delete
The profile Contact cannot be explicitly deleted. It will be removed automatically if all of its constituent raw contact entries are deleted.
Query
  • The CONTENT_URI for profiles behaves in much the same way as retrieving a contact by ID, except that it will only ever return the user's profile contact.
  • The profile contact supports all of the same sub-paths as an individual contact does - the content of the profile contact can be retrieved as entities or data rows. Similarly, specific raw contact entries can be retrieved by appending the desired raw contact ID within the profile.

Summary

Constants

long MIN_ID

The minimum ID for any entity that belongs to the profile.

Inherited constants

Fields

public static final Uri CONTENT_RAW_CONTACTS_URI

Uri for referencing the raw contacts that make up the user's profile Contacts entry.

public static final Uri CONTENT_URI

The content:// style URI for this table, which requests the contact entry representing the user's personal profile data.

public static final Uri CONTENT_VCARD_URI

Uri for referencing the user's profile Contacts entry, Provides OpenableColumns columns when queried, or returns the user's profile contact formatted as a vCard when opened through ContentResolver#openAssetFileDescriptor(Uri, String).

Inherited methods

Constants

MIN_ID

Added in API level 14
public static final long MIN_ID

The minimum ID for any entity that belongs to the profile. This essentially defines an ID-space in which profile data is stored, and is used by the provider to determine whether a request via a non-profile-specific URI should be directed to the profile data rather than general contacts data, along with all the special permission checks that entails. Callers may use ContactsContract.isProfileId(long) to check whether a specific ID falls into the set of data intended for the profile.

Constant Value: 9223372034707292160 (0x7fffffff80000000)

Fields

CONTENT_RAW_CONTACTS_URI

Added in API level 14
public static final Uri CONTENT_RAW_CONTACTS_URI

Uri for referencing the raw contacts that make up the user's profile Contacts entry. An individual raw contact entry within the profile can be addressed by appending the raw contact ID. The entities or data within that specific raw contact can be requested by appending the entity or data path as well.

CONTENT_URI

Added in API level 14
public static final Uri CONTENT_URI

The content:// style URI for this table, which requests the contact entry representing the user's personal profile data.

CONTENT_VCARD_URI

Added in API level 14
public static final Uri CONTENT_VCARD_URI

Uri for referencing the user's profile Contacts entry, Provides OpenableColumns columns when queried, or returns the user's profile contact formatted as a vCard when opened through ContentResolver#openAssetFileDescriptor(Uri, String).