# ContactsContract.CommonDataKinds.Callable

Added in[API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

# Callable

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/android/provider/ContactsContract.CommonDataKinds.Callable "View this page in Java")  

```
class Callable : ContactsContract.CommonDataKinds.CommonColumns, ContactsContract.DataColumnsWithJoins
```

|---|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)                                                                                           ||
| ↳ | [android.provider.ContactsContract.CommonDataKinds.Callable](https://developer.android.com/reference/kotlin/android/provider/ContactsContract.CommonDataKinds.Callable#) |

Convenient functionalities for "callable" data. Note that, this is NOT a separate data kind.

This URI allows the ContactsProvider to return a unified result for "callable" data that users can use for calling purposes.[Phone](https://developer.android.com/reference/kotlin/android/provider/ContactsContract.CommonDataKinds.Phone)and[SipAddress](https://developer.android.com/reference/kotlin/android/provider/ContactsContract.CommonDataKinds.SipAddress)are the current examples for "callable", but may be expanded to the other types.

Each returned row may have a different MIMETYPE and thus different interpretation for each column. For example the meaning for[Phone](https://developer.android.com/reference/kotlin/android/provider/ContactsContract.CommonDataKinds.Phone)'s type is different than[SipAddress](https://developer.android.com/reference/kotlin/android/provider/ContactsContract.CommonDataKinds.SipAddress)'s.

## Summary

|                                                                                                                                                                                         Constants                                                                                                                                                                                          ||
|----------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| static[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) | [EXTRA_ADDRESS_BOOK_INDEX](https://developer.android.com/reference/kotlin/android/provider/ContactsContract.CommonDataKinds.Callable#EXTRA_ADDRESS_BOOK_INDEX:kotlin.String) Add this query parameter to a URI to get back row counts grouped by the address book index as cursor extras.          |
| static[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) | [EXTRA_ADDRESS_BOOK_INDEX_COUNTS](https://developer.android.com/reference/kotlin/android/provider/ContactsContract.CommonDataKinds.Callable#EXTRA_ADDRESS_BOOK_INDEX_COUNTS:kotlin.String) The array of group counts for the corresponding group.                                                  |
| static[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) | [EXTRA_ADDRESS_BOOK_INDEX_TITLES](https://developer.android.com/reference/kotlin/android/provider/ContactsContract.CommonDataKinds.Callable#EXTRA_ADDRESS_BOOK_INDEX_TITLES:kotlin.String) The array of address book index titles, which are returned in the same order as the data in the cursor. |

| Inherited constants ||
|---|---|
| From class[CommonColumns](https://developer.android.com/reference/kotlin/android/provider/ContactsContract.CommonDataKinds.CommonColumns) |----------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) | [DATA](https://developer.android.com/reference/kotlin/android/provider/ContactsContract.CommonDataKinds.CommonColumns#DATA:kotlin.String) <br /> The data for the contact method. Type: TEXT <br />                     | | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) | [LABEL](https://developer.android.com/reference/kotlin/android/provider/ContactsContract.CommonDataKinds.CommonColumns#LABEL:kotlin.String) <br /> The user defined label for the the contact method. Type: TEXT <br /> | | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) | [TYPE](https://developer.android.com/reference/kotlin/android/provider/ContactsContract.CommonDataKinds.CommonColumns#TYPE:kotlin.String) <br /> The type of data, for example Home or Work. Type: INTEGER <br />       | ||
| From class[BaseTypes](https://developer.android.com/reference/kotlin/android/provider/ContactsContract.CommonDataKinds.BaseTypes) |----------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [TYPE_CUSTOM](https://developer.android.com/reference/kotlin/android/provider/ContactsContract.CommonDataKinds.BaseTypes#TYPE_CUSTOM:kotlin.Int) <br /> A custom type. The custom label should be supplied by user. <br /> | ||

|                                                              Public constructors                                                               ||
|---------------------------------------------------------------------------------------------------------------------------------------------|---|
| [Callable](https://developer.android.com/reference/kotlin/android/provider/ContactsContract.CommonDataKinds.Callable#Callable())`()` <br /> |

|                                                                                                                                                                                                                                                          Properties                                                                                                                                                                                                                                                           ||
|------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| static[Uri](https://developer.android.com/reference/kotlin/android/net/Uri.html#)! | [CONTENT_FILTER_URI](https://developer.android.com/reference/kotlin/android/provider/ContactsContract.CommonDataKinds.Callable#CONTENT_FILTER_URI:android.net.Uri) Similar to[Phone.CONTENT_FILTER_URI](https://developer.android.com/reference/kotlin/android/provider/ContactsContract.CommonDataKinds.Phone#CONTENT_FILTER_URI:android.net.Uri), but allows users to filter callable data.                                             |
| static[Uri](https://developer.android.com/reference/kotlin/android/net/Uri.html#)! | [CONTENT_URI](https://developer.android.com/reference/kotlin/android/provider/ContactsContract.CommonDataKinds.Callable#CONTENT_URI:android.net.Uri) Similar to[Phone.CONTENT_URI](https://developer.android.com/reference/kotlin/android/provider/ContactsContract.CommonDataKinds.Phone#CONTENT_URI:android.net.Uri), but returns callable data instead of only phone numbers.                                                          |
| static[Uri](https://developer.android.com/reference/kotlin/android/net/Uri.html#)! | [ENTERPRISE_CONTENT_FILTER_URI](https://developer.android.com/reference/kotlin/android/provider/ContactsContract.CommonDataKinds.Callable#ENTERPRISE_CONTENT_FILTER_URI:android.net.Uri) Similar to[Phone.ENTERPRISE_CONTENT_FILTER_URI](https://developer.android.com/reference/kotlin/android/provider/ContactsContract.CommonDataKinds.Phone#ENTERPRISE_CONTENT_FILTER_URI:android.net.Uri), but allows users to filter callable data. |

## Constants

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

<br />

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

<br />

    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"

## Public constructors

### Callable

```
Callable()
```

## Properties

### CONTENT_FILTER_URI

Added in[API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
static val CONTENT_FILTER_URI: Uri!
```

Similar to[Phone.CONTENT_FILTER_URI](https://developer.android.com/reference/kotlin/android/provider/ContactsContract.CommonDataKinds.Phone#CONTENT_FILTER_URI:android.net.Uri), but allows users to filter callable data.

**Caution:** This field no longer sorts results based on contacts frequency. For more information, see the[Contacts Provider](https://developer.android.com/reference/kotlin/guide/topics/providers/contacts-provider#ObsoleteData)page.  

### CONTENT_URI

Added in[API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
static val CONTENT_URI: Uri!
```

Similar to[Phone.CONTENT_URI](https://developer.android.com/reference/kotlin/android/provider/ContactsContract.CommonDataKinds.Phone#CONTENT_URI:android.net.Uri), but returns callable data instead of only phone numbers.  

### ENTERPRISE_CONTENT_FILTER_URI

Added in[API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
static val ENTERPRISE_CONTENT_FILTER_URI: Uri!
```

Similar to[Phone.ENTERPRISE_CONTENT_FILTER_URI](https://developer.android.com/reference/kotlin/android/provider/ContactsContract.CommonDataKinds.Phone#ENTERPRISE_CONTENT_FILTER_URI:android.net.Uri), but allows users to filter callable data. This URI requires[ContactsContract.DIRECTORY_PARAM_KEY](https://developer.android.com/reference/kotlin/android/provider/ContactsContract#DIRECTORY_PARAM_KEY:kotlin.String)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](https://developer.android.com/reference/kotlin/guide/topics/providers/contacts-provider#ObsoleteData)page.