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

# Intents

*** ** * ** ***

```
class Intents
```

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

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/kotlin/android/provider/PeopleContract.Intents#ACTION_START_PEOPLE_INTERACTION:kotlin.String`. When launched, the Activity should read `https://developer.android.com/reference/kotlin/android/provider/PeopleContract.Intents#EXTRA_PEOPLE_INTERACTION_TYPE:kotlin.String` and `https://developer.android.com/reference/kotlin/android/provider/PeopleContract.Intents#EXTRA_PEOPLE_QUERY_ARGS:kotlin.String` 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/kotlin/android/provider/PeopleContract#createPeopleInteractionRequest(android.content.ContentResolver,%20kotlin.String,%20android.os.Bundle)` to obtain a pre-configured, secure `https://developer.android.com/reference/kotlin/android/app/PendingIntent.html#` from the system that launches the target directory's interaction Activity.

## Summary

| Constants ||
|---|---|
| static [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) | `https://developer.android.com/reference/kotlin/android/provider/PeopleContract.Intents#ACTION_START_PEOPLE_INTERACTION:kotlin.String` 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. |
| static [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) | `https://developer.android.com/reference/kotlin/android/provider/PeopleContract.Intents#EXTRA_PEOPLE_INTERACTION_TYPE:kotlin.String` Intent extra key used with `https://developer.android.com/reference/kotlin/android/provider/PeopleContract.Intents#ACTION_START_PEOPLE_INTERACTION:kotlin.String` specifying the type of communication to start. |
| static [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) | `https://developer.android.com/reference/kotlin/android/provider/PeopleContract.Intents#EXTRA_PEOPLE_QUERY_ARGS:kotlin.String` Intent extra key used with `https://developer.android.com/reference/kotlin/android/provider/PeopleContract.Intents#ACTION_START_PEOPLE_INTERACTION:kotlin.String` specifying the target person or group for the interaction. |
| static [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) | `https://developer.android.com/reference/kotlin/android/provider/PeopleContract.Intents#PEOPLE_INTERACTION_TYPE_MESSAGE:kotlin.String` Interaction type indicating a request to initiate a text or chat messaging session. |
| static [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) | `https://developer.android.com/reference/kotlin/android/provider/PeopleContract.Intents#PEOPLE_INTERACTION_TYPE_VIDEO:kotlin.String` Interaction type indicating a request to initiate a video calling session. |
| static [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) | `https://developer.android.com/reference/kotlin/android/provider/PeopleContract.Intents#PEOPLE_INTERACTION_TYPE_VOICE:kotlin.String` Interaction type indicating a request to initiate an audio or voice calling session. |

## Constants

### ACTION_START_PEOPLE_INTERACTION

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

```
static val ACTION_START_PEOPLE_INTERACTION: String
```

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/kotlin/android/provider/PeopleContract.Intents#EXTRA_PEOPLE_INTERACTION_TYPE:kotlin.String` specifies the requested interaction type (one of the `PEOPLE_INTERACTION_TYPE_*` constants). `https://developer.android.com/reference/kotlin/android/provider/PeopleContract.Intents#EXTRA_PEOPLE_QUERY_ARGS:kotlin.String` specifies a query arguments `https://developer.android.com/reference/kotlin/android/os/Bundle.html#` identifying the target person or group record.

**For client applications:** Obtain a `https://developer.android.com/reference/kotlin/android/app/PendingIntent.html#` for this action by calling `https://developer.android.com/reference/kotlin/android/provider/PeopleContract#createPeopleInteractionRequest(android.content.ContentResolver,%20kotlin.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/kotlin/android/app/PendingIntent.html#`.

    Value: "android.provider.action.START_PEOPLE_INTERACTION"

### EXTRA_PEOPLE_INTERACTION_TYPE

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

```
static val EXTRA_PEOPLE_INTERACTION_TYPE: String
```

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

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

    Value: "android.provider.extra.PEOPLE_INTERACTION_TYPE"

### EXTRA_PEOPLE_QUERY_ARGS

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

```
static val EXTRA_PEOPLE_QUERY_ARGS: String
```

Intent extra key used with `https://developer.android.com/reference/kotlin/android/provider/PeopleContract.Intents#ACTION_START_PEOPLE_INTERACTION:kotlin.String` 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/kotlin/android/provider/PeopleContract#QUERY_ARG_SELECTION_TYPE:kotlin.String` (e.g., `https://developer.android.com/reference/kotlin/android/provider/PeopleContract.Persons.Query#SELECTION_TYPE_LOOKUP_KEY:kotlin.String` for an individual person or `https://developer.android.com/reference/kotlin/android/provider/PeopleContract.Persons.Query#SELECTION_TYPE_GROUP_LOOKUP_KEY:kotlin.String` for a group) and its matching string array under `https://developer.android.com/reference/kotlin/android/provider/PeopleContract#QUERY_ARG_SELECTION_VALUE:kotlin.String`.

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

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

    Value: "android.provider.extra.PEOPLE_QUERY_ARGS"

### PEOPLE_INTERACTION_TYPE_MESSAGE

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

```
static val PEOPLE_INTERACTION_TYPE_MESSAGE: String
```

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

    Value: "com.android.people.PEOPLE_INTERACTION_TYPE_MESSAGE"

### PEOPLE_INTERACTION_TYPE_VIDEO

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

```
static val PEOPLE_INTERACTION_TYPE_VIDEO: String
```

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

    Value: "com.android.people.PEOPLE_INTERACTION_TYPE_VIDEO"

### PEOPLE_INTERACTION_TYPE_VOICE

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

```
static val PEOPLE_INTERACTION_TYPE_VOICE: String
```

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

    Value: "com.android.people.PEOPLE_INTERACTION_TYPE_VOICE"