Added in [version 37.2](https://developer.android.com/topic/libraries/support-library/revisions) Summary: [Nested Classes](https://developer.android.com/reference/android/provider/PeopleContract.Persons#nestedclasses) \| [Constants](https://developer.android.com/reference/android/provider/PeopleContract.Persons#constants) \| [Fields](https://developer.android.com/reference/android/provider/PeopleContract.Persons#lfields) \| [Inherited Methods](https://developer.android.com/reference/android/provider/PeopleContract.Persons#inhmethods)

# PeopleContract.Persons

*** ** * ** ***


`
public
static
final

class
PeopleContract.Persons
`


`

extends https://developer.android.com/reference/java/lang/Object


`

`


`

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.provider.PeopleContract.Persons |

<br />

*** ** * ** ***

Constants, URI definitions, and query utilities for person identity records aggregated from
People Directories.

**For client applications:** Clients query `https://developer.android.com/reference/android/provider/PeopleContract.Persons#CONTENT_URI` using structured query
arguments created via `https://developer.android.com/reference/android/provider/PeopleContract.Persons.Query.Builder`. Each row in the resulting `https://developer.android.com/reference/android/database/Cursor` represents a person record supplied by a specific directory,
including standard columns such as `https://developer.android.com/reference/android/provider/PeopleContract.Persons#LOOKUP_KEY`, `https://developer.android.com/reference/android/provider/PeopleContract.Persons#DISPLAY_NAME`, `https://developer.android.com/reference/android/provider/PeopleContract.Persons#PHOTO_URI`, and `https://developer.android.com/reference/android/provider/PeopleContract.Persons#CAPABILITY`, as well as directory metadata from `https://developer.android.com/reference/android/provider/PeopleContract.Directory#DIRECTORY_AUTHORITY` and `https://developer.android.com/reference/android/provider/PeopleContract.Directory#PACKAGE_NAME`.

To ensure accurate and fresh data, see `https://developer.android.com/reference/android/provider/PeopleContract#EXTRA_NOTIFICATION_URI`.

**For People Directory applications:** When the system queries a People Directory
application for person records, it expects cursors returned by the directory to populate
these standard column names, as well as `https://developer.android.com/reference/android/provider/PeopleContract#QUERY_ARG_SELECTION_TYPE` and
`https://developer.android.com/reference/android/provider/PeopleContract#QUERY_ARG_SELECTION_VALUE` indicating the exact selection criterion
that matched each row.

## Summary

| ### Nested classes ||
|---|---|
| ` class` | `https://developer.android.com/reference/android/provider/PeopleContract.Persons.Query` Constants and builder utilities for constructing person query argument bundles. |

| ### Constants ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/PeopleContract.Persons#CAPABILITY` Column name for a bitmask representing the communication modes supported by this person, composed of flags from `https://developer.android.com/reference/android/provider/PeopleContract.Capability`. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/PeopleContract.Persons#CONTENT_ITEM_TYPE` The MIME type of a `https://developer.android.com/reference/android/provider/PeopleContract.Persons#CONTENT_URI` subdirectory of a single person record. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/PeopleContract.Persons#CONTENT_TYPE` The MIME type of `https://developer.android.com/reference/android/provider/PeopleContract.Persons#CONTENT_URI` providing a directory of person records. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/PeopleContract.Persons#DISPLAY_NAME` Column name for the primary display name of the person. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/PeopleContract.Persons#IS_KNOWN` Indicates whether the person is a known contact or connection in the People Directory application's system. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/PeopleContract.Persons#LOOKUP_KEY` Column name for an opaque, stable string key that uniquely identifies this person record within its originating People Directory. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/PeopleContract.Persons#PHOTO_URI` Column name for a URI pointing to the person's photo or avatar image. |

| ### Fields ||
|---|---|
| ` public static final https://developer.android.com/reference/android/net/Uri` | `https://developer.android.com/reference/android/provider/PeopleContract.Persons#CONTENT_LOOKUP_URI` The content:// style base URI for persistently referencing a person record by its lookup key. |
| ` public static final https://developer.android.com/reference/android/net/Uri` | `https://developer.android.com/reference/android/provider/PeopleContract.Persons#CONTENT_URI` The content:// style URI for querying person records aggregated from People Directories. |

### Inherited methods

From class `

https://developer.android.com/reference/java/lang/Object

` `


https://developer.android.com/reference/java/lang/Object` `
https://developer.android.com/reference/java/lang/Object#clone()()
`

Creates and returns a copy of this object.


`


boolean` `
https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj)
`

Indicates whether some other object is "equal to" this one.


`


void` `
https://developer.android.com/reference/java/lang/Object#finalize()()
`

Called by the garbage collector on an object when garbage collection
determines that there are no more references to the object.


`


final

https://developer.android.com/reference/java/lang/Class<?>` `
https://developer.android.com/reference/java/lang/Object#getClass()()
`

Returns the runtime class of this `Object`.


`


int` `
https://developer.android.com/reference/java/lang/Object#hashCode()()
`

Returns a hash code value for the object.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#notify()()
`

Wakes up a single thread that is waiting on this object's
monitor.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#notifyAll()()
`

Wakes up all threads that are waiting on this object's monitor.


`


https://developer.android.com/reference/java/lang/String` `
https://developer.android.com/reference/java/lang/Object#toString()()
`

Returns a string representation of the object.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos)
`

Causes the current thread to wait until it is awakened, typically
by being *notified* or *interrupted*, or until a
certain amount of real time has elapsed.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis)
`

Causes the current thread to wait until it is awakened, typically
by being *notified* or *interrupted*, or until a
certain amount of real time has elapsed.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#wait()()
`

Causes the current thread to wait until it is awakened, typically
by being *notified* or *interrupted*.


## Constants

### CAPABILITY

Added in [version 37.2](https://developer.android.com/topic/libraries/support-library/revisions)

```
public static final String CAPABILITY
```

Column name for a bitmask representing the communication modes supported by this person,
composed of flags from `https://developer.android.com/reference/android/provider/PeopleContract.Capability`.

Type: INTEGER

<br />

Constant Value:

"capability"


### CONTENT_ITEM_TYPE

Added in [version 37.2](https://developer.android.com/topic/libraries/support-library/revisions)

```
public static final String CONTENT_ITEM_TYPE
```

The MIME type of a `https://developer.android.com/reference/android/provider/PeopleContract.Persons#CONTENT_URI` subdirectory of a single person record.

<br />

Constant Value:

"vnd.android.cursor.item/people_person"


### CONTENT_TYPE

Added in [version 37.2](https://developer.android.com/topic/libraries/support-library/revisions)

```
public static final String CONTENT_TYPE
```

The MIME type of `https://developer.android.com/reference/android/provider/PeopleContract.Persons#CONTENT_URI` providing a directory of person records.

<br />

Constant Value:

"vnd.android.cursor.dir/people_persons"


### DISPLAY_NAME

Added in [version 37.2](https://developer.android.com/topic/libraries/support-library/revisions)

```
public static final String DISPLAY_NAME
```

Column name for the primary display name of the person.

Type: TEXT

<br />

Constant Value:

"display_name"


### IS_KNOWN

Added in [version 37.2](https://developer.android.com/topic/libraries/support-library/revisions)

```
public static final String IS_KNOWN
```

Indicates whether the person is a known contact or connection in the People Directory
application's system.

If a People Directory does not return this, it should be treated as `false` by
default.

TYPE: INTEGER (boolean) (Optional)

<br />

Constant Value:

"is_known"


### LOOKUP_KEY

Added in [version 37.2](https://developer.android.com/topic/libraries/support-library/revisions)

```
public static final String LOOKUP_KEY
```

Column name for an opaque, stable string key that uniquely identifies this person record
within its originating People Directory.

Type: TEXT

<br />

Constant Value:

"lookup_key"


### PHOTO_URI

Added in [version 37.2](https://developer.android.com/topic/libraries/support-library/revisions)

```
public static final String PHOTO_URI
```

Column name for a URI pointing to the person's photo or avatar image.

People Directory applications are responsible for hosting photo URIs. Due to
performance reasons, using `content://` URIs is not allowed; standard web URLs
(such as `https://`) are strongly recommended instead. The Android system does not
guarantee access to `content://` URIs.

Type: TEXT

<br />

Constant Value:

"photo_uri"


## Fields

### CONTENT_LOOKUP_URI

Added in [version 37.2](https://developer.android.com/topic/libraries/support-library/revisions)

```
public static final Uri CONTENT_LOOKUP_URI
```

The content:// style base URI for persistently referencing a person record by its lookup
key.

To construct a stable reference to a person identity in storages like call log
entries, append the person's `https://developer.android.com/reference/android/provider/PeopleContract.Persons#LOOKUP_KEY` to this URI using
`https://developer.android.com/reference/android/net/Uri.Builder` or `https://developer.android.com/reference/android/net/Uri#withAppendedPath(android.net.Uri,%20java.lang.String)`. For example, if a
person's lookup key is `"foo"`, then the persistent reference would be
`content://com.android.people/persons/lookup/foo`.

**Note:** This URI is intended exclusively for persistent identification and
referencing across system components. Direct queries against this URI on the People
Provider are unsupported; to resolve a person by lookup key, client applications must
query `https://developer.android.com/reference/android/provider/PeopleContract.Persons#CONTENT_URI` using `https://developer.android.com/reference/android/provider/PeopleContract.Persons.Query.Builder#addLookupQuery(java.lang.String,%20java.util.List<java.lang.String>)`.

<br />

### CONTENT_URI

Added in [version 37.2](https://developer.android.com/topic/libraries/support-library/revisions)

```
public static final Uri CONTENT_URI
```

The content:// style URI for querying person records aggregated from People Directories.

Queries against this URI must be executed via `https://developer.android.com/reference/android/content/ContentResolver#query(android.net.Uri,%20java.lang.String[],%20android.os.Bundle,%20android.os.CancellationSignal)` using structured query arguments constructed with
`https://developer.android.com/reference/android/provider/PeopleContract.Persons.Query.Builder`. Traditional SQL selection strings are not supported.

<br />