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 looking up contacts by email on the contact databases of both the calling user and the managed profile that is linked to it.

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

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"

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.

Caution: If you publish your app to the Google Play Store, this field doesn't sort results based on contacts frequency. For more information, see the Contacts Provider page.

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. The passed directory can belong either to the calling user or to a managed profile that is linked to it.

Caution: If you publish your app to the Google Play Store, this field doesn't sort results based on contacts frequency. For more information, see the Contacts Provider page.

ENTERPRISE_CONTENT_LOOKUP_URI

Added in API level 23
public static final Uri ENTERPRISE_CONTENT_LOOKUP_URI

URI used for looking up contacts by email on the contact databases of both the calling user and the managed profile that is linked to it.

It supports the same semantics as CONTENT_LOOKUP_URI and returns the same columns.
If the device has no managed profile that is linked to the calling user, it behaves in the exact same way as CONTENT_LOOKUP_URI.
If there is a managed profile linked to the calling user, it first queries the calling user's contact database, and only if no matching contacts are found there it then queries the managed profile database.

If a result is from the managed profile, the following changes are made to the data:

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: This value may be null.

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