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

# PeopleContract.Intents

*** ** * ** ***


`
public
static
final

class
PeopleContract.Intents
`


`

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


`

`


`

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

<br />

*** ** * ** ***

Standard intent actions, extras, and interaction constants used to bridge client applications
with communication flows in People Directory applications.

**For People Directory applications:** To support initiating interactions from system
UI, dialers, or contacts apps, directory applications must declare an Activity in their
manifest with an intent filter matching `https://developer.android.com/reference/android/provider/PeopleContract.Intents#ACTION_START_PEOPLE_INTERACTION`. When
launched, the Activity should read `https://developer.android.com/reference/android/provider/PeopleContract.Intents#EXTRA_PEOPLE_INTERACTION_TYPE` and `https://developer.android.com/reference/android/provider/PeopleContract.Intents#EXTRA_PEOPLE_QUERY_ARGS` to connect the user with the target person or group.

**For client applications:** Clients do not send these intents directly. Instead,
clients call `https://developer.android.com/reference/android/provider/PeopleContract#createPeopleInteractionRequest(android.content.ContentResolver,%20java.lang.String,%20android.os.Bundle)` to
obtain a pre-configured, secure `https://developer.android.com/reference/android/app/PendingIntent` from the system that launches the
target directory's interaction Activity.

## Summary

| ### Constants ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/PeopleContract.Intents#ACTION_START_PEOPLE_INTERACTION` Activity Action: Initiates an interactive communication session (such as text messaging, voice calling, or video calling) with a person or group within a People Directory application. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/PeopleContract.Intents#EXTRA_PEOPLE_INTERACTION_TYPE` Intent extra key used with `https://developer.android.com/reference/android/provider/PeopleContract.Intents#ACTION_START_PEOPLE_INTERACTION` specifying the type of communication to start. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/PeopleContract.Intents#EXTRA_PEOPLE_QUERY_ARGS` Intent extra key used with `https://developer.android.com/reference/android/provider/PeopleContract.Intents#ACTION_START_PEOPLE_INTERACTION` specifying the target person or group for the interaction. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/PeopleContract.Intents#PEOPLE_INTERACTION_TYPE_MESSAGE` Interaction type indicating a request to initiate a text or chat messaging session. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/PeopleContract.Intents#PEOPLE_INTERACTION_TYPE_VIDEO` Interaction type indicating a request to initiate a video calling session. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/PeopleContract.Intents#PEOPLE_INTERACTION_TYPE_VOICE` Interaction type indicating a request to initiate an audio or voice calling session. |

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

### ACTION_START_PEOPLE_INTERACTION

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

```
public static final String ACTION_START_PEOPLE_INTERACTION
```

Activity Action: Initiates an interactive communication session (such as text messaging,
voice calling, or video calling) with a person or group within a People Directory
application.

Input: `https://developer.android.com/reference/android/provider/PeopleContract.Intents#EXTRA_PEOPLE_INTERACTION_TYPE` specifies the requested interaction type
(one of the `PEOPLE_INTERACTION_TYPE_*` constants). `https://developer.android.com/reference/android/provider/PeopleContract.Intents#EXTRA_PEOPLE_QUERY_ARGS` specifies a query arguments `https://developer.android.com/reference/android/os/Bundle` identifying the
target person or group record.

**For client applications:** Obtain a `https://developer.android.com/reference/android/app/PendingIntent` for this action by
calling `https://developer.android.com/reference/android/provider/PeopleContract#createPeopleInteractionRequest(android.content.ContentResolver,%20java.lang.String,%20android.os.Bundle)`.

**For People Directory applications:** Declare an Activity handling this action to
receive communication requests from clients and system components. This Activity must
declare `android:exported="true"` in its manifest to be launchable by the
system-minted `https://developer.android.com/reference/android/app/PendingIntent`.

<br />

Constant Value:

"android.provider.action.START_PEOPLE_INTERACTION"


### EXTRA_PEOPLE_INTERACTION_TYPE

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

```
public static final String EXTRA_PEOPLE_INTERACTION_TYPE
```

Intent extra key used with `https://developer.android.com/reference/android/provider/PeopleContract.Intents#ACTION_START_PEOPLE_INTERACTION` specifying the type
of communication to start.

Type: TEXT (must be one of `https://developer.android.com/reference/android/provider/PeopleContract.Intents#PEOPLE_INTERACTION_TYPE_MESSAGE`, `https://developer.android.com/reference/android/provider/PeopleContract.Intents#PEOPLE_INTERACTION_TYPE_VOICE`, or `https://developer.android.com/reference/android/provider/PeopleContract.Intents#PEOPLE_INTERACTION_TYPE_VIDEO`).

<br />

Constant Value:

"android.provider.extra.PEOPLE_INTERACTION_TYPE"


### EXTRA_PEOPLE_QUERY_ARGS

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

```
public static final String EXTRA_PEOPLE_QUERY_ARGS
```

Intent extra key used with `https://developer.android.com/reference/android/provider/PeopleContract.Intents#ACTION_START_PEOPLE_INTERACTION` specifying the target
person or group for the interaction.

To identify the target person or group record, retrieve the query arguments bundle
using `intent.getBundleExtra(Intents.EXTRA_PEOPLE_QUERY_ARGS)`, then extract the
list of query bundles using `queryArgs.getParcelableArrayList(QUERY_ARG_QUERIES,
Bundle.class)`. Inspect each bundle for `https://developer.android.com/reference/android/provider/PeopleContract#QUERY_ARG_SELECTION_TYPE`
(e.g., `https://developer.android.com/reference/android/provider/PeopleContract.Persons.Query#SELECTION_TYPE_LOOKUP_KEY` for an individual person or
`https://developer.android.com/reference/android/provider/PeopleContract.Persons.Query#SELECTION_TYPE_GROUP_LOOKUP_KEY` for a group) and its matching
string array under `https://developer.android.com/reference/android/provider/PeopleContract#QUERY_ARG_SELECTION_VALUE`.

This bundle must contain exactly one target sub-query generated using `https://developer.android.com/reference/android/provider/PeopleContract.Persons.Query.Builder`.

Type: Bundle (constructed using `https://developer.android.com/reference/android/provider/PeopleContract.Persons.Query.Builder`).

<br />

Constant Value:

"android.provider.extra.PEOPLE_QUERY_ARGS"


### PEOPLE_INTERACTION_TYPE_MESSAGE

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

```
public static final String PEOPLE_INTERACTION_TYPE_MESSAGE
```

Interaction type indicating a request to initiate a text or chat messaging session.

<br />

Constant Value:

"com.android.people.PEOPLE_INTERACTION_TYPE_MESSAGE"


### PEOPLE_INTERACTION_TYPE_VIDEO

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

```
public static final String PEOPLE_INTERACTION_TYPE_VIDEO
```

Interaction type indicating a request to initiate a video calling session.

<br />

Constant Value:

"com.android.people.PEOPLE_INTERACTION_TYPE_VIDEO"


### PEOPLE_INTERACTION_TYPE_VOICE

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

```
public static final String PEOPLE_INTERACTION_TYPE_VOICE
```

Interaction type indicating a request to initiate an audio or voice calling session.

<br />

Constant Value:

"com.android.people.PEOPLE_INTERACTION_TYPE_VOICE"