Save the date! Android Dev Summit is coming to Mountain View, CA on November 7-8, 2018.

ContactsContract.CommonDataKinds.Email

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

java.lang.Object
   ↳ android.provider.ContactsContract.CommonDataKinds.Email


A data kind representing an email address.

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

Column aliases

Type AliasData column
String ADDRESS ContactsContract.DataColumns.DATA1 Email address itself.
int ContactsContract.CommonDataKinds.CommonColumns.TYPE ContactsContract.DataColumns.DATA2 Allowed values are:

String ContactsContract.CommonDataKinds.CommonColumns.LABEL ContactsContract.DataColumns.DATA3

Summary

Constants

String ADDRESS

The email address.

String CONTENT_ITEM_TYPE

MIME type used when storing this in data table.

String CONTENT_TYPE

The MIME type of CONTENT_URI providing a directory of email addresses.

String DISPLAY_NAME

The display name for the email address

Type: TEXT

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.

int TYPE_HOME

int TYPE_MOBILE

int TYPE_OTHER

int TYPE_WORK

Inherited constants

Fields

public static final Uri CONTENT_FILTER_URI

The content:// style URL for email lookup using a filter.

public static final Uri CONTENT_LOOKUP_URI

The content:// style URL for looking up data rows by email address.

public static final Uri CONTENT_URI

The content:// style URI for all data records of the CONTENT_ITEM_TYPE MIME type, combined with the associated raw contact and aggregate contact data.

public static final Uri ENTERPRISE_CONTENT_FILTER_URI

It supports the similar semantics as CONTENT_FILTER_URI and returns the same columns.

public static final Uri ENTERPRISE_CONTENT_LOOKUP_URI

URI used for enterprise email lookup.

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

Constants

ADDRESS

added in API level 11
public static final String ADDRESS

The email address.

Type: TEXT

Constant Value: "data1"

CONTENT_ITEM_TYPE

added in API level 5
public static final String CONTENT_ITEM_TYPE

MIME type used when storing this in data table.

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

CONTENT_TYPE

added in API level 5
public static final String CONTENT_TYPE

The MIME type of CONTENT_URI providing a directory of email addresses.

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

DISPLAY_NAME

added in API level 5
public static final String DISPLAY_NAME

The display name for the email address

Type: TEXT

Constant Value: "data4"

EXTRA_ADDRESS_BOOK_INDEX

added in API level 21
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

added in API level 21
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

added in API level 21
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"

TYPE_HOME

added in API level 5
public static final int TYPE_HOME

Constant Value: 1 (0x00000001)

TYPE_MOBILE

added in API level 5
public static final int TYPE_MOBILE

Constant Value: 4 (0x00000004)

TYPE_OTHER

added in API level 5
public static final int TYPE_OTHER

Constant Value: 3 (0x00000003)

TYPE_WORK

added in API level 5
public static final int TYPE_WORK

Constant Value: 2 (0x00000002)

Fields

CONTENT_FILTER_URI

added in API level 5
public static final Uri CONTENT_FILTER_URI

The content:// style URL for email lookup using a filter. The filter returns records of MIME type CONTENT_ITEM_TYPE. The filter is applied to display names as well as email addresses. The filter argument should be passed as an additional path segment after this URI.

The query in the following example will return "Robert Parr (bob@incredibles.com)" as well as "Bob Parr (incredible@android.com)".

 Uri uri = Uri.withAppendedPath(Email.CONTENT_LOOKUP_URI, Uri.encode("bob"));
 Cursor c = getContentResolver().query(uri,
          new String[]{Email.DISPLAY_NAME, Email.DATA},
          null, null, null);
 

CONTENT_LOOKUP_URI

added in API level 5
public static final Uri CONTENT_LOOKUP_URI

The content:// style URL for looking up data rows by email address. The lookup argument, an email address, should be passed as an additional path segment after this URI.

Example:

 Uri uri = Uri.withAppendedPath(Email.CONTENT_LOOKUP_URI, Uri.encode(email));
 Cursor c = getContentResolver().query(uri,
          new String[]{Email.CONTACT_ID, Email.DISPLAY_NAME, Email.DATA},
          null, null, null);
 

CONTENT_URI

added in API level 5
public static final Uri CONTENT_URI

The content:// style URI for all data records of the CONTENT_ITEM_TYPE MIME type, combined with the associated raw contact and aggregate contact data.

ENTERPRISE_CONTENT_FILTER_URI

added in API level 24
public static final Uri ENTERPRISE_CONTENT_FILTER_URI

It supports the similar semantics as CONTENT_FILTER_URI and returns the same columns. This URI requires ContactsContract.DIRECTORY_PARAM_KEY in parameters, otherwise it will throw IllegalArgumentException.

ENTERPRISE_CONTENT_LOOKUP_URI

added in API level 23
public static final Uri ENTERPRISE_CONTENT_LOOKUP_URI

URI used for enterprise email lookup.

It supports the same semantics as CONTENT_LOOKUP_URI and returns the same columns. If the device has no corp profile that is linked to the current profile, it behaves in the exact same way as CONTENT_LOOKUP_URI. If there is a corp profile linked to the current profile, it first queries against the personal contact database, and if no matching contacts are found there, then queries against the corp contacts database.

If a result is from the corp profile, it makes the following changes to the data:

A contact lookup URL built by ContactsContract.Contacts.getLookupUri(long, String) with an BaseColumns._ID and a ContactsContract.ContactsColumns.LOOKUP_KEY returned by this API can be passed to ContactsContract.QuickContact.showQuickContact(Context, Rect, Uri, int, String[]) even if a contact is from the corp profile.

 Uri lookupUri = Uri.withAppendedPath(Email.ENTERPRISE_CONTENT_LOOKUP_URI,
         Uri.encode(email));
 

Public methods

getTypeLabel

added in API level 5
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

added in API level 5
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