Added in [API level 5](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Constants](https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#constants) \| [Ctors](https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#pubctors) \| [Inherited Methods](https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#inhmethods)

# ContactsContract.Intents.Insert

*** ** * ** ***

` public static final class ContactsContract.Intents.Insert `   
` extends https://developer.android.com/reference/java/lang/Object ` ` `

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

<br />

*** ** * ** ***

Convenience class that contains string constants used to create contact `https://developer.android.com/reference/android/content/Intent`.

## Summary

| ### Constants ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#ACTION` The action code to use when adding a contact |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#COMPANY` The extra field for the contact company. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#DATA` The extra field that allows the client to supply multiple rows of arbitrary data for a single contact created using the `https://developer.android.com/reference/android/content/Intent#ACTION_INSERT` or edited using `https://developer.android.com/reference/android/content/Intent#ACTION_EDIT`. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#EMAIL` The extra field for the contact email address. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#EMAIL_ISPRIMARY` The extra field for the email isprimary flag. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#EMAIL_TYPE` The extra field for the contact email type. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#EXTRA_ACCOUNT` Used to specify the account in which to create the new contact. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#EXTRA_DATA_SET` Used to specify the data set within the account in which to create the new contact. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#FULL_MODE` If present, forces a bypass of quick insert mode. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#IM_HANDLE` The extra field for an IM handle. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#IM_ISPRIMARY` The extra field for the IM isprimary flag. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#IM_PROTOCOL` The extra field for the IM protocol |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#JOB_TITLE` The extra field for the contact job title. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#NAME` The extra field for the contact name. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#NOTES` The extra field for the contact notes. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#PHONE` The extra field for the contact phone number. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#PHONETIC_NAME` The extra field for the contact phonetic name. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#PHONE_ISPRIMARY` The extra field for the phone isprimary flag. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#PHONE_TYPE` The extra field for the contact phone number type. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#POSTAL` The extra field for the contact postal address. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#POSTAL_ISPRIMARY` The extra field for the postal isprimary flag. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#POSTAL_TYPE` The extra field for the contact postal address type. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#SECONDARY_EMAIL` The extra field for an optional second contact email address. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#SECONDARY_EMAIL_TYPE` The extra field for an optional second contact email type. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#SECONDARY_PHONE` The extra field for an optional second contact phone number. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#SECONDARY_PHONE_TYPE` The extra field for an optional second contact phone number type. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#TERTIARY_EMAIL` The extra field for an optional third contact email address. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#TERTIARY_EMAIL_TYPE` The extra field for an optional third contact email type. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#TERTIARY_PHONE` The extra field for an optional third contact phone number. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#TERTIARY_PHONE_TYPE` The extra field for an optional third contact phone number type. |

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/provider/ContactsContract.Intents.Insert#Insert()() ` |

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

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

```
public static final String ACTION
```

The action code to use when adding a contact

<br />

Constant Value: "android.intent.action.INSERT"

### COMPANY

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

```
public static final String COMPANY
```

The extra field for the contact company.

Type: String

<br />

<br />

Constant Value: "company"

### DATA

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

```
public static final String DATA
```

The extra field that allows the client to supply multiple rows of arbitrary data for a single contact created using the `https://developer.android.com/reference/android/content/Intent#ACTION_INSERT` or edited using `https://developer.android.com/reference/android/content/Intent#ACTION_EDIT`. It is an ArrayList of `https://developer.android.com/reference/android/content/ContentValues`, one per data row. Supplying this extra is similar to inserting multiple rows into the `https://developer.android.com/reference/android/provider/ContactsContract.Data` table, except the user gets a chance to see and edit them before saving. Each ContentValues object must have a value for `https://developer.android.com/reference/android/provider/ContactsContract.DataColumns#MIMETYPE`. If supplied values are not visible in the editor UI, they will be dropped. Duplicate data will dropped. Some fields like `https://developer.android.com/reference/android/provider/ContactsContract.CommonDataKinds.CommonColumns#TYPE` may be automatically adjusted to comply with the constraints of the specific account type. For example, an Exchange contact can only have one phone numbers of type Home, so the contact editor may choose a different type for this phone number to avoid dropping the valueable part of the row, which is the phone number.

Example:

```
 ArrayList<ContentValues> data = new ArrayList<ContentValues>();

 ContentValues row1 = new ContentValues();
 row1.put(Data.MIMETYPE, Organization.CONTENT_ITEM_TYPE);
 row1.put(Organization.COMPANY, "Android");
 data.add(row1);

 ContentValues row2 = new ContentValues();
 row2.put(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE);
 row2.put(Email.TYPE, Email.TYPE_CUSTOM);
 row2.put(Email.LABEL, "Green Bot");
 row2.put(Email.ADDRESS, "android@android.com");
 data.add(row2);

 Intent intent = new Intent(Intent.ACTION_INSERT, Contacts.CONTENT_URI);
 intent.putParcelableArrayListExtra(Insert.DATA, data);

 startActivity(intent);
```

<br />

<br />

Constant Value: "data"

### EMAIL

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

```
public static final String EMAIL
```

The extra field for the contact email address.

Type: String

<br />

<br />

Constant Value: "email"

### EMAIL_ISPRIMARY

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

```
public static final String EMAIL_ISPRIMARY
```

The extra field for the email isprimary flag.

Type: boolean

<br />

<br />

Constant Value: "email_isprimary"

### EMAIL_TYPE

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

```
public static final String EMAIL_TYPE
```

The extra field for the contact email type.

Type: Either an integer value from `https://developer.android.com/reference/android/provider/ContactsContract.CommonDataKinds.Email` or a string specifying a custom label.

<br />

<br />

Constant Value: "email_type"

### EXTRA_ACCOUNT

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

```
public static final String EXTRA_ACCOUNT
```

Used to specify the account in which to create the new contact.

If this value is not provided, the user is presented with a disambiguation dialog to chose an account

Type: `https://developer.android.com/reference/android/accounts/Account`

<br />

Constant Value: "android.provider.extra.ACCOUNT"

### EXTRA_DATA_SET

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

```
public static final String EXTRA_DATA_SET
```

Used to specify the data set within the account in which to create the new contact.

This value is optional - if it is not specified, the contact will be created in the base account, with no data set.

Type: String

<br />

Constant Value: "android.provider.extra.DATA_SET"

### FULL_MODE

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

```
public static final String FULL_MODE
```

If present, forces a bypass of quick insert mode.

<br />

Constant Value: "full_mode"

### IM_HANDLE

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

```
public static final String IM_HANDLE
```

The extra field for an IM handle.

Type: String

<br />

<br />

Constant Value: "im_handle"

### IM_ISPRIMARY

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

```
public static final String IM_ISPRIMARY
```

The extra field for the IM isprimary flag.

Type: boolean

<br />

<br />

Constant Value: "im_isprimary"

### IM_PROTOCOL

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

```
public static final String IM_PROTOCOL
```

The extra field for the IM protocol

<br />

Constant Value: "im_protocol"

### JOB_TITLE

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

```
public static final String JOB_TITLE
```

The extra field for the contact job title.

Type: String

<br />

<br />

Constant Value: "job_title"

### NAME

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

```
public static final String NAME
```

The extra field for the contact name.

Type: String

<br />

<br />

Constant Value: "name"

### NOTES

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

```
public static final String NOTES
```

The extra field for the contact notes.

Type: String

<br />

<br />

Constant Value: "notes"

### PHONE

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

```
public static final String PHONE
```

The extra field for the contact phone number.

Type: String

<br />

<br />

Constant Value: "phone"

### PHONETIC_NAME

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

```
public static final String PHONETIC_NAME
```

The extra field for the contact phonetic name.

Type: String

<br />

<br />

Constant Value: "phonetic_name"

### PHONE_ISPRIMARY

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

```
public static final String PHONE_ISPRIMARY
```

The extra field for the phone isprimary flag.

Type: boolean

<br />

<br />

Constant Value: "phone_isprimary"

### PHONE_TYPE

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

```
public static final String PHONE_TYPE
```

The extra field for the contact phone number type.

Type: Either an integer value from `https://developer.android.com/reference/android/provider/ContactsContract.CommonDataKinds.Phone`, or a string specifying a custom label.

<br />

<br />

Constant Value: "phone_type"

### POSTAL

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

```
public static final String POSTAL
```

The extra field for the contact postal address.

Type: String

<br />

<br />

Constant Value: "postal"

### POSTAL_ISPRIMARY

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

```
public static final String POSTAL_ISPRIMARY
```

The extra field for the postal isprimary flag.

Type: boolean

<br />

<br />

Constant Value: "postal_isprimary"

### POSTAL_TYPE

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

```
public static final String POSTAL_TYPE
```

The extra field for the contact postal address type.

Type: Either an integer value from `https://developer.android.com/reference/android/provider/ContactsContract.CommonDataKinds.StructuredPostal` or a string specifying a custom label.

<br />

<br />

Constant Value: "postal_type"

### SECONDARY_EMAIL

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

```
public static final String SECONDARY_EMAIL
```

The extra field for an optional second contact email address.

Type: String

<br />

<br />

Constant Value: "secondary_email"

### SECONDARY_EMAIL_TYPE

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

```
public static final String SECONDARY_EMAIL_TYPE
```

The extra field for an optional second contact email type.

Type: Either an integer value from `https://developer.android.com/reference/android/provider/ContactsContract.CommonDataKinds.Email` or a string specifying a custom label.

<br />

<br />

Constant Value: "secondary_email_type"

### SECONDARY_PHONE

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

```
public static final String SECONDARY_PHONE
```

The extra field for an optional second contact phone number.

Type: String

<br />

<br />

Constant Value: "secondary_phone"

### SECONDARY_PHONE_TYPE

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

```
public static final String SECONDARY_PHONE_TYPE
```

The extra field for an optional second contact phone number type.

Type: Either an integer value from `https://developer.android.com/reference/android/provider/ContactsContract.CommonDataKinds.Phone`, or a string specifying a custom label.

<br />

<br />

Constant Value: "secondary_phone_type"

### TERTIARY_EMAIL

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

```
public static final String TERTIARY_EMAIL
```

The extra field for an optional third contact email address.

Type: String

<br />

<br />

Constant Value: "tertiary_email"

### TERTIARY_EMAIL_TYPE

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

```
public static final String TERTIARY_EMAIL_TYPE
```

The extra field for an optional third contact email type.

Type: Either an integer value from `https://developer.android.com/reference/android/provider/ContactsContract.CommonDataKinds.Email` or a string specifying a custom label.

<br />

<br />

Constant Value: "tertiary_email_type"

### TERTIARY_PHONE

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

```
public static final String TERTIARY_PHONE
```

The extra field for an optional third contact phone number.

Type: String

<br />

<br />

Constant Value: "tertiary_phone"

### TERTIARY_PHONE_TYPE

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

```
public static final String TERTIARY_PHONE_TYPE
```

The extra field for an optional third contact phone number type.

Type: Either an integer value from `https://developer.android.com/reference/android/provider/ContactsContract.CommonDataKinds.Phone`, or a string specifying a custom label.

<br />

<br />

Constant Value: "tertiary_phone_type"

## Public constructors

### Insert

```
public Insert ()
```

<br />

<br />