Added in API level 5

Phone

class Phone : ContactsContract.DataColumnsWithJoins, ContactsContract.CommonDataKinds.CommonColumns
kotlin.Any
   ↳ android.provider.ContactsContract.CommonDataKinds.Phone

A data kind representing a telephone number.

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

Column aliases

Type Alias Data column
String NUMBER DATA1
int TYPE DATA2 Allowed values are:

String LABEL DATA3

Summary

Constants
static String

MIME type used when storing this in data table.

static String

The MIME type of CONTENT_URI providing a directory of phones.

static String

Add this query parameter to a URI to get back row counts grouped by the address book index as cursor extras.

static String

The array of group counts for the corresponding group.

static String

The array of address book index titles, which are returned in the same order as the data in the cursor.

static String

The phone number's E164 representation.

static String

The phone number as the user entered it.

static String

A boolean query parameter that can be used with CONTENT_FILTER_URI.

static String

A boolean query parameter that can be used with CONTENT_FILTER_URI.

static Int

static Int

static Int

static Int

static Int

static Int

static Int

static Int

static Int

static Int

static Int

static Int

static Int

static Int

static Int

static Int

static Int

static Int

static Int

static Int

Inherited constants
Public methods
static CharSequence!
getTypeLabel(res: Resources!, type: Int, label: CharSequence?)

Return a CharSequence that best describes the given type, possibly substituting the given LABEL value for TYPE_CUSTOM.

static Int

Return the string resource that best describes the given TYPE.

Properties
static Uri!

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

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

static Uri!

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

static Uri

URI used for getting all data records of the CONTENT_ITEM_TYPE MIME type, combined with the associated raw contact and aggregate contact data, from both the calling user and the managed profile that is linked to it.

Constants

CONTENT_ITEM_TYPE

Added in API level 5
static val CONTENT_ITEM_TYPE: String

MIME type used when storing this in data table.

Value: "vnd.android.cursor.item/phone_v2"

CONTENT_TYPE

Added in API level 5
static val CONTENT_TYPE: String

The MIME type of CONTENT_URI providing a directory of phones.

Value: "vnd.android.cursor.dir/phone_v2"

EXTRA_ADDRESS_BOOK_INDEX

static val EXTRA_ADDRESS_BOOK_INDEX: String

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);
  }
  

Value: "android.provider.extra.ADDRESS_BOOK_INDEX"

EXTRA_ADDRESS_BOOK_INDEX_COUNTS

static val EXTRA_ADDRESS_BOOK_INDEX_COUNTS: String

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[]

Value: "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS"

EXTRA_ADDRESS_BOOK_INDEX_TITLES

static val EXTRA_ADDRESS_BOOK_INDEX_TITLES: String

The array of address book index titles, which are returned in the same order as the data in the cursor.

TYPE: String[]

Value: "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES"

NORMALIZED_NUMBER

Added in API level 16
static val NORMALIZED_NUMBER: String

The phone number's E164 representation. This value can be omitted in which case the provider will try to automatically infer it. (It'll be left null if the provider fails to infer.) If present, NUMBER has to be set as well (it will be ignored otherwise).

Type: TEXT

Value: "data4"

NUMBER

Added in API level 5
static val NUMBER: String

The phone number as the user entered it.

Type: TEXT

Value: "data1"

SEARCH_DISPLAY_NAME_KEY

Added in API level 16
static val SEARCH_DISPLAY_NAME_KEY: String

A boolean query parameter that can be used with CONTENT_FILTER_URI. If "1" or "true", display names are searched. If "0" or "false", display names are not searched. Default is "1".

Value: "search_display_name"

SEARCH_PHONE_NUMBER_KEY

Added in API level 16
static val SEARCH_PHONE_NUMBER_KEY: String

A boolean query parameter that can be used with CONTENT_FILTER_URI. If "1" or "true", phone numbers are searched. If "0" or "false", phone numbers are not searched. Default is "1".

Value: "search_phone_number"

TYPE_ASSISTANT

Added in API level 5
static val TYPE_ASSISTANT: Int
Value: 19

TYPE_CALLBACK

Added in API level 5
static val TYPE_CALLBACK: Int
Value: 8

TYPE_CAR

Added in API level 5
static val TYPE_CAR: Int
Value: 9

TYPE_COMPANY_MAIN

Added in API level 5
static val TYPE_COMPANY_MAIN: Int
Value: 10

TYPE_FAX_HOME

Added in API level 5
static val TYPE_FAX_HOME: Int
Value: 5

TYPE_FAX_WORK

Added in API level 5
static val TYPE_FAX_WORK: Int
Value: 4

TYPE_HOME

Added in API level 5
static val TYPE_HOME: Int
Value: 1

TYPE_ISDN

Added in API level 5
static val TYPE_ISDN: Int
Value: 11

TYPE_MAIN

Added in API level 5
static val TYPE_MAIN: Int
Value: 12

TYPE_MMS

Added in API level 5
static val TYPE_MMS: Int
Value: 20

TYPE_MOBILE

Added in API level 5
static val TYPE_MOBILE: Int
Value: 2

TYPE_OTHER

Added in API level 5
static val TYPE_OTHER: Int
Value: 7

TYPE_OTHER_FAX

Added in API level 5
static val TYPE_OTHER_FAX: Int
Value: 13

TYPE_PAGER

Added in API level 5
static val TYPE_PAGER: Int
Value: 6

TYPE_RADIO

Added in API level 5
static val TYPE_RADIO: Int
Value: 14

TYPE_TELEX

Added in API level 5
static val TYPE_TELEX: Int
Value: 15

TYPE_TTY_TDD

Added in API level 5
static val TYPE_TTY_TDD: Int
Value: 16

TYPE_WORK

Added in API level 5
static val TYPE_WORK: Int
Value: 3

TYPE_WORK_MOBILE

Added in API level 5
static val TYPE_WORK_MOBILE: Int
Value: 17

TYPE_WORK_PAGER

Added in API level 5
static val TYPE_WORK_PAGER: Int
Value: 18

Public methods

getTypeLabel

Added in API level 5
static fun getTypeLabel(
    res: Resources!,
    type: Int,
    label: CharSequence?
): CharSequence!

Return a CharSequence that best describes the given type, possibly substituting the given LABEL value for TYPE_CUSTOM.

Parameters
label CharSequence?: This value may be null.

getTypeLabelResource

Added in API level 5
static fun getTypeLabelResource(type: Int): Int

Return the string resource that best describes the given TYPE. Will always return a valid resource.

Properties

CONTENT_FILTER_URI

Added in API level 5
static val CONTENT_FILTER_URI: Uri!

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

Caution: This field doesn't sort results based on contacts frequency. For more information, see the Contacts Provider page.

CONTENT_URI

Added in API level 5
static val CONTENT_URI: 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
static val ENTERPRISE_CONTENT_FILTER_URI: 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.

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_URI

Added in API level 34
static val ENTERPRISE_CONTENT_URI: Uri

URI used for getting all data records of the CONTENT_ITEM_TYPE MIME type, combined with the associated raw contact and aggregate contact data, from both the calling user and the managed profile that is linked to it.

It supports the same semantics as CONTENT_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_URI.
If there is a managed profile linked to the calling user, it will return merged results from both.

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

  • PHOTO_THUMBNAIL_URI and PHOTO_URI will be rewritten to special URIs. Use android.content.ContentResolver#openAssetFileDescriptor or its siblings to load pictures from them.
  • PHOTO_ID and PHOTO_FILE_ID will be set to null. Don't use them.
  • CONTACT_ID and LOOKUP_KEY will be replaced with artificial values. These values will be consistent across multiple queries, but do not use them in places that don't explicitly say they accept them. If they are used in the selection param in android.content.ContentProvider#query, the result is undefined.
  • In order to tell whether a contact is from the managed profile, use ContactsContract.Contacts#isEnterpriseContactId(long).