Added in [API level 25](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Inherited Constants](https://developer.android.com/reference/android/view/inputmethod/InputContentInfo#inhconstants) \| [Fields](https://developer.android.com/reference/android/view/inputmethod/InputContentInfo#lfields) \| [Ctors](https://developer.android.com/reference/android/view/inputmethod/InputContentInfo#pubctors) \| [Methods](https://developer.android.com/reference/android/view/inputmethod/InputContentInfo#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/view/inputmethod/InputContentInfo#inhmethods)

# InputContentInfo

*** ** * ** ***

` public final class InputContentInfo `   
` extends https://developer.android.com/reference/java/lang/Object ` ` implements https://developer.android.com/reference/android/os/Parcelable `

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.view.inputmethod.InputContentInfo |

<br />

*** ** * ** ***

A container object with which input methods can send content files to the target application.

## Summary

### Inherited constants

From interface `https://developer.android.com/reference/android/os/Parcelable` `int` `https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR`

Descriptor bit used with `https://developer.android.com/reference/android/os/Parcelable#describeContents()`: indicates that the Parcelable object's flattened representation includes a file descriptor.
`int` `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE`

Flag for use with `https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)`: the object being written is a return value, that is the result of a function such as "`Parcelable someFunction()`", "`void someFunction(out Parcelable)`", or "`void someFunction(inout Parcelable)`".

| ### Fields ||
|---|---|
| ` public static final https://developer.android.com/reference/android/os/Parcelable.Creator<https://developer.android.com/reference/android/view/inputmethod/InputContentInfo>` | `https://developer.android.com/reference/android/view/inputmethod/InputContentInfo#CREATOR` Used to make this class parcelable. |

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/view/inputmethod/InputContentInfo#InputContentInfo(android.net.Uri,%20android.content.ClipDescription)(https://developer.android.com/reference/android/net/Uri contentUri, https://developer.android.com/reference/android/content/ClipDescription description) ` Constructs `https://developer.android.com/reference/android/view/inputmethod/InputContentInfo` object only with mandatory data. |
| ` https://developer.android.com/reference/android/view/inputmethod/InputContentInfo#InputContentInfo(android.net.Uri,%20android.content.ClipDescription,%20android.net.Uri)(https://developer.android.com/reference/android/net/Uri contentUri, https://developer.android.com/reference/android/content/ClipDescription description, https://developer.android.com/reference/android/net/Uri linkUri) ` Constructs `https://developer.android.com/reference/android/view/inputmethod/InputContentInfo` object with additional link URI. |

| ### Public methods ||
|---|---|
| ` int` | ` https://developer.android.com/reference/android/view/inputmethod/InputContentInfo#describeContents()() ` Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. |
| ` https://developer.android.com/reference/android/net/Uri` | ` https://developer.android.com/reference/android/view/inputmethod/InputContentInfo#getContentUri()() ` |
| ` https://developer.android.com/reference/android/content/ClipDescription` | ` https://developer.android.com/reference/android/view/inputmethod/InputContentInfo#getDescription()() ` |
| ` https://developer.android.com/reference/android/net/Uri` | ` https://developer.android.com/reference/android/view/inputmethod/InputContentInfo#getLinkUri()() ` |
| ` void` | ` https://developer.android.com/reference/android/view/inputmethod/InputContentInfo#releasePermission()() ` Releases a temporary read-only access permission for content URI associated with this object. |
| ` void` | ` https://developer.android.com/reference/android/view/inputmethod/InputContentInfo#requestPermission()() ` Requests a temporary `https://developer.android.com/reference/android/content/Intent#FLAG_GRANT_READ_URI_PERMISSION` access permission for the content URI associated with this object. |
| ` void` | ` https://developer.android.com/reference/android/view/inputmethod/InputContentInfo#writeToParcel(android.os.Parcel,%20int)(https://developer.android.com/reference/android/os/Parcel dest, int flags) ` Used to package this object into a `https://developer.android.com/reference/android/os/Parcel`. |

### 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*.
From interface ` https://developer.android.com/reference/android/os/Parcelable ` ` abstract int` ` https://developer.android.com/reference/android/os/Parcelable#describeContents()() `

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.
` abstract void` ` https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)(https://developer.android.com/reference/android/os/Parcel dest, int flags) `

Flatten this object in to a Parcel.

## Fields

### CREATOR

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

```
public static final Creator<InputContentInfo> CREATOR
```

Used to make this class parcelable.

<br />

## Public constructors

### InputContentInfo

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

```
public InputContentInfo (Uri contentUri, 
                ClipDescription description)
```

Constructs `https://developer.android.com/reference/android/view/inputmethod/InputContentInfo` object only with mandatory data.

<br />

| Parameters ||
|---|---|
| `contentUri` | `Uri`: Content URI to be exported from the input method. This cannot be `null`. <br /> |
| `description` | `ClipDescription`: A `https://developer.android.com/reference/android/content/ClipDescription` object that contains the metadata of `contentUri` such as MIME type(s). This object cannot be `null`. Also `https://developer.android.com/reference/android/content/ClipDescription#getLabel()` should be describing the content specified by `contentUri` for accessibility reasons. <br /> |

### InputContentInfo

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

```
public InputContentInfo (Uri contentUri, 
                ClipDescription description, 
                Uri linkUri)
```

Constructs `https://developer.android.com/reference/android/view/inputmethod/InputContentInfo` object with additional link URI.

<br />

| Parameters ||
|---|---|
| `contentUri` | `Uri`: Content URI to be exported from the input method. This cannot be `null`. <br /> |
| `description` | `ClipDescription`: A `https://developer.android.com/reference/android/content/ClipDescription` object that contains the metadata of `contentUri` such as MIME type(s). This object cannot be `null`. Also `https://developer.android.com/reference/android/content/ClipDescription#getLabel()` should be describing the content specified by `contentUri` for accessibility reasons. <br /> |
| `linkUri` | `Uri`: An optional `http` or `https` URI. The editor author may provide a way to navigate the user to the specified web page if this is not `null`. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/security/InvalidParameterException` | if any invalid parameter is specified. |

## Public methods

### describeContents

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

```
public int describeContents ()
```

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. For example, if the object will include a file descriptor in the output of `https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)`, the return value of this method must include the `https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR` bit.

<br />

| Returns ||
|---|---|
| `int` | a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either `0` or - `https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR` |

### getContentUri

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

```
public Uri getContentUri ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/net/Uri` | Content URI with which the content can be obtained. This value cannot be `null`. <br /> |

### getDescription

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

```
public ClipDescription getDescription ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/content/ClipDescription` | `https://developer.android.com/reference/android/content/ClipDescription` object that contains the metadata of `#getContentUri()` such as MIME type(s). `https://developer.android.com/reference/android/content/ClipDescription#getLabel()` can be used for accessibility purpose. This value cannot be `null`. <br /> |

### getLinkUri

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

```
public Uri getLinkUri ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/net/Uri` | An optional `http` or `https` URI that is related to this content. This value may be `null`. <br /> |

### releasePermission

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

```
public void releasePermission ()
```

Releases a temporary read-only access permission for content URI associated with this object.

Does nothing if the temporary permission is not granted.

<br />

<br />

### requestPermission

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

```
public void requestPermission ()
```

Requests a temporary `https://developer.android.com/reference/android/content/Intent#FLAG_GRANT_READ_URI_PERMISSION` access permission for the content URI associated with this object.

The lifecycle of the permission granted here is tied to this object instance. If the permission is not released explicitly via `https://developer.android.com/reference/android/view/inputmethod/InputContentInfo#releasePermission()`, it will be released automatically when there are no more references to this object.

Does nothing if the temporary permission is already granted.

<br />

<br />

### writeToParcel

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

```
public void writeToParcel (Parcel dest, 
                int flags)
```

Used to package this object into a `https://developer.android.com/reference/android/os/Parcel`.

<br />

| Parameters ||
|---|---|
| `dest` | `Parcel`: The `https://developer.android.com/reference/android/os/Parcel` to be written. <br /> |
| `flags` | `int`: The flags used for parceling. <br /> |