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

# CredentialEntry

*** ** * ** ***


`
public

final

class
CredentialEntry
`


`

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.service.credentials.CredentialEntry |

<br />

*** ** * ** ***

A credential entry that is to be displayed on the account selector that is presented to the
user.

If user selects this entry, the corresponding `https://developer.android.com/reference/android/app/PendingIntent`,
set on the `slice` will be invoked to launch activities that require some user engagement
before getting the credential corresponding to this entry, e.g. authentication,
confirmation etc. The extras associated with the resulting `https://developer.android.com/reference/android/app/Activity` will
also contain the complete credential request containing all required parameters. This request
can be retrieved against `https://developer.android.com/reference/android/service/credentials/CredentialProviderService#EXTRA_GET_CREDENTIAL_REQUEST`.

Once the activity fulfills the required user engagement, the `https://developer.android.com/reference/android/app/Activity`
result should be set to `https://developer.android.com/reference/android/app/Activity#RESULT_OK`, and the
`https://developer.android.com/reference/android/service/credentials/CredentialProviderService#EXTRA_GET_CREDENTIAL_RESPONSE` must be set with a
`https://developer.android.com/reference/android/credentials/GetCredentialResponse` object.

## 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/service/credentials/CredentialEntry>` | `https://developer.android.com/reference/android/service/credentials/CredentialEntry#CREATOR` |

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/service/credentials/CredentialEntry#CredentialEntry(android.service.credentials.BeginGetCredentialOption,%20android.app.slice.Slice)(https://developer.android.com/reference/android/service/credentials/BeginGetCredentialOption beginGetCredentialOption, https://developer.android.com/reference/android/app/slice/Slice slice) ` Creates an entry that is associated with a `https://developer.android.com/reference/android/service/credentials/BeginGetCredentialOption` request. |
| ` https://developer.android.com/reference/android/service/credentials/CredentialEntry#CredentialEntry(java.lang.String,%20android.app.slice.Slice)(https://developer.android.com/reference/java/lang/String type, https://developer.android.com/reference/android/app/slice/Slice slice) ` Creates an entry that is independent of an incoming `https://developer.android.com/reference/android/service/credentials/BeginGetCredentialOption` request. |
| ` https://developer.android.com/reference/android/service/credentials/CredentialEntry#CredentialEntry(java.lang.String,%20java.lang.String,%20android.app.slice.Slice)(https://developer.android.com/reference/java/lang/String beginGetCredentialOptionId, https://developer.android.com/reference/java/lang/String type, https://developer.android.com/reference/android/app/slice/Slice slice) ` Creates an entry that is associated with a `https://developer.android.com/reference/android/service/credentials/BeginGetCredentialOption` request. |

| ### Public methods ||
|---|---|
| ` int` | ` https://developer.android.com/reference/android/service/credentials/CredentialEntry#describeContents()() ` Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/service/credentials/CredentialEntry#getBeginGetCredentialOptionId()() ` Returns the id of the `https://developer.android.com/reference/android/service/credentials/BeginGetCredentialOption` for which this credential entry has been constructed. |
| ` https://developer.android.com/reference/android/app/slice/Slice` | ` https://developer.android.com/reference/android/service/credentials/CredentialEntry#getSlice()() ` Returns the `https://developer.android.com/reference/android/app/slice/Slice` object containing UI display content to be shown for this entry. |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/service/credentials/CredentialEntry#getType()() ` Returns the specific credential type of the entry. |
| ` void` | ` https://developer.android.com/reference/android/service/credentials/CredentialEntry#writeToParcel(android.os.Parcel,%20int)(https://developer.android.com/reference/android/os/Parcel dest, int flags) ` Flatten this object in to a 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 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

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

<br />

<br />

## Public constructors

### CredentialEntry

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

```
public CredentialEntry (BeginGetCredentialOption beginGetCredentialOption, 
                Slice slice)
```

Creates an entry that is associated with a `https://developer.android.com/reference/android/service/credentials/BeginGetCredentialOption` request.
Providers must use this constructor when they extend from `https://developer.android.com/reference/android/service/credentials/CredentialProviderService`
to respond to query phase `https://developer.android.com/reference/android/service/credentials/CredentialProviderService#onBeginGetCredential(android.service.credentials.BeginGetCredentialRequest,%20android.os.CancellationSignal,%20android.os.OutcomeReceiver<android.service.credentials.BeginGetCredentialResponse,android.credentials.GetCredentialException>)`
credential retrieval requests.

<br />

| Parameters ||
|---|---|
| `beginGetCredentialOption` | `BeginGetCredentialOption`: the request option for which this credential entry is being constructed This helps maintain an association, such that when the user selects this entry, providers can receive the complete corresponding request. This value cannot be `null`. <br /> |
| `slice` | `Slice`: the slice containing the metadata to be shown on the UI. Must be constructed through the androidx.credentials jetpack library. This value cannot be `null`. <br /> |

### CredentialEntry

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

```
public CredentialEntry (String type, 
                Slice slice)
```

Creates an entry that is independent of an incoming `https://developer.android.com/reference/android/service/credentials/BeginGetCredentialOption`
request. Providers must use this constructor for constructing entries to be registered
with the framework outside of the span of an API call.

<br />

| Parameters ||
|---|---|
| `type` | `String`: the type of the credential. This value cannot be `null`. <br /> |
| `slice` | `Slice`: the slice containing the metadata to be shown on the UI. Must be constructed through the androidx.credentials jetpack library. This value cannot be `null`. <br /> |

### CredentialEntry

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

```
public CredentialEntry (String beginGetCredentialOptionId, 
                String type, 
                Slice slice)
```

Creates an entry that is associated with a `https://developer.android.com/reference/android/service/credentials/BeginGetCredentialOption` request.
Providers must use this constructor when they extend from `https://developer.android.com/reference/android/service/credentials/CredentialProviderService`
to respond to query phase `https://developer.android.com/reference/android/service/credentials/CredentialProviderService#onBeginGetCredential(android.service.credentials.BeginGetCredentialRequest,%20android.os.CancellationSignal,%20android.os.OutcomeReceiver<android.service.credentials.BeginGetCredentialResponse,android.credentials.GetCredentialException>)`
credential retrieval requests.

<br />

| Parameters ||
|---|---|
| `beginGetCredentialOptionId` | `String`: the beginGetCredentialOptionId to be retrieved from `https://developer.android.com/reference/android/service/credentials/BeginGetCredentialOption#getId()` - the request option for which this CredentialEntry is being constructed This helps maintain an association such that when the user selects this entry, providers can receive the complete corresponding `https://developer.android.com/reference/android/service/credentials/GetCredentialRequest`. This value cannot be `null`. <br /> |
| `type` | `String`: the type of the credential for which this credential entry is being created. This value cannot be `null`. <br /> |
| `slice` | `Slice`: the slice containing the metadata to be shown on the UI, must be constructed through the `https://developer.android.com/reference/androidx/credentials/provider/package-summary` Jetpack library; If constructed manually, the `slice` object must contain the non-null properties of the `https://developer.android.com/reference/androidx/credentials/provider/CredentialEntry.html` class populated as slice items against specific hints as used in the class's `toSlice` method, since the Android System uses this library to parse the `slice` and extract the required attributes <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException` | If `beginGetCredentialOptionId` or `type` is null, or empty |

## Public methods

### describeContents

Added in [API level 34](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` |

### getBeginGetCredentialOptionId

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

```
public String getBeginGetCredentialOptionId ()
```

Returns the id of the `https://developer.android.com/reference/android/service/credentials/BeginGetCredentialOption` for which this credential
entry has been constructed.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | This value cannot be `null`. <br /> |

### getSlice

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

```
public Slice getSlice ()
```

Returns the `https://developer.android.com/reference/android/app/slice/Slice` object containing UI display content to be shown for this entry.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/app/slice/Slice` | This value cannot be `null`. <br /> |

### getType

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

```
public String getType ()
```

Returns the specific credential type of the entry.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | This value cannot be `null`. <br /> |

### writeToParcel

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

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

Flatten this object in to a Parcel.

<br />

| Parameters ||
|---|---|
| `dest` | `Parcel`: This value cannot be `null`. <br /> |
| `flags` | `int`: Additional flags about how the object should be written. May be 0 or `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE`. Value is either `0` or a combination of the following: - `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE` |