Intents


class Intents
kotlin.Any
   ↳ 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 ACTION_START_PEOPLE_INTERACTION. When launched, the Activity should read EXTRA_PEOPLE_INTERACTION_TYPE and 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 createPeopleInteractionRequest(ContentResolver,String,Bundle) to obtain a pre-configured, secure PendingIntent from the system that launches the target directory's interaction Activity.

Summary

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

Intent extra key used with ACTION_START_PEOPLE_INTERACTION specifying the type of communication to start.

static String

Intent extra key used with ACTION_START_PEOPLE_INTERACTION specifying the target person or group for the interaction.

static String

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

static String

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

static String

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

Constants

ACTION_START_PEOPLE_INTERACTION

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: EXTRA_PEOPLE_INTERACTION_TYPE specifies the requested interaction type (one of the PEOPLE_INTERACTION_TYPE_* constants). EXTRA_PEOPLE_QUERY_ARGS specifies a query arguments Bundle identifying the target person or group record.

For client applications: Obtain a PendingIntent for this action by calling PeopleContract.createPeopleInteractionRequest(ContentResolver,String,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 PendingIntent.

Value: "android.provider.action.START_PEOPLE_INTERACTION"

EXTRA_PEOPLE_INTERACTION_TYPE

static val EXTRA_PEOPLE_INTERACTION_TYPE: String

Intent extra key used with ACTION_START_PEOPLE_INTERACTION specifying the type of communication to start.

Type: TEXT (must be one of PEOPLE_INTERACTION_TYPE_MESSAGE, PEOPLE_INTERACTION_TYPE_VOICE, or PEOPLE_INTERACTION_TYPE_VIDEO).

Value: "android.provider.extra.PEOPLE_INTERACTION_TYPE"

EXTRA_PEOPLE_QUERY_ARGS

static val EXTRA_PEOPLE_QUERY_ARGS: String

Intent extra key used with 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 PeopleContract.QUERY_ARG_SELECTION_TYPE (e.g., Persons.Query.SELECTION_TYPE_LOOKUP_KEY) and its matching string array under PeopleContract.QUERY_ARG_SELECTION_VALUE.

This bundle must contain exactly one target sub-query generated using Persons.Query.Builder or Groups.Query.Builder.

Type: Bundle (constructed using Persons.Query.Builder or Groups.Query.Builder).

Value: "android.provider.extra.PEOPLE_QUERY_ARGS"

PEOPLE_INTERACTION_TYPE_MESSAGE

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

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

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"