Added in API level 14

Profile

class Profile : BaseColumns, ContactsContract.ContactsColumns, ContactsContract.ContactOptionsColumns, ContactsContract.ContactNameColumns, ContactsContract.ContactStatusColumns
kotlin.Any
   ↳ 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
static Long

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

Inherited constants
Properties
static Uri!

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

static Uri!

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

static 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).

Constants

MIN_ID

Added in API level 14
static val MIN_ID: Long

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 isProfileId to check whether a specific ID falls into the set of data intended for the profile.

Value: 9223372034707292160L

Properties

CONTENT_RAW_CONTACTS_URI

Added in API level 14
static val CONTENT_RAW_CONTACTS_URI: 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
static val CONTENT_URI: 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
static val CONTENT_VCARD_URI: 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).