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

# GetCredentialRequest.Builder

*** ** * ** ***

` public static final class GetCredentialRequest.Builder `   
` extends https://developer.android.com/reference/java/lang/Object ` ` `

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.credentials.GetCredentialRequest.Builder |

<br />

*** ** * ** ***

A builder for `https://developer.android.com/reference/android/credentials/GetCredentialRequest`.

## Summary

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/credentials/GetCredentialRequest.Builder#Builder(android.os.Bundle)(https://developer.android.com/reference/android/os/Bundle data) ` |

| ### Public methods ||
|---|---|
| ` https://developer.android.com/reference/android/credentials/GetCredentialRequest.Builder` | ` https://developer.android.com/reference/android/credentials/GetCredentialRequest.Builder#addCredentialOption(android.credentials.CredentialOption)(https://developer.android.com/reference/android/credentials/CredentialOption credentialOption) ` Adds a specific type of `https://developer.android.com/reference/android/credentials/CredentialOption`. |
| ` https://developer.android.com/reference/android/credentials/GetCredentialRequest` | ` https://developer.android.com/reference/android/credentials/GetCredentialRequest.Builder#build()() ` Builds a `https://developer.android.com/reference/android/credentials/GetCredentialRequest`. |
| ` https://developer.android.com/reference/android/credentials/GetCredentialRequest.Builder` | ` https://developer.android.com/reference/android/credentials/GetCredentialRequest.Builder#setAlwaysSendAppInfoToProvider(boolean)(boolean value) ` Sets a true/false value to determine if the calling app info should be removed from the request that is sent to the providers. |
| ` https://developer.android.com/reference/android/credentials/GetCredentialRequest.Builder` | ` https://developer.android.com/reference/android/credentials/GetCredentialRequest.Builder#setCredentialOptions(java.util.List<android.credentials.CredentialOption>)(https://developer.android.com/reference/java/util/List<https://developer.android.com/reference/android/credentials/CredentialOption> credentialOptions) ` Sets the list of `https://developer.android.com/reference/android/credentials/CredentialOption`. |
| ` https://developer.android.com/reference/android/credentials/GetCredentialRequest.Builder` | ` https://developer.android.com/reference/android/credentials/GetCredentialRequest.Builder#setOrigin(java.lang.String)(https://developer.android.com/reference/java/lang/String origin) ` Sets the origin of the calling app. |

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

## Public constructors

### Builder

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

```
public Builder (Bundle data)
```

<br />

<br />

| Parameters ||
|---|---|
| `data` | `Bundle`: the top request level data. This value cannot be `null`. <br /> |

## Public methods

### addCredentialOption

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

```
public GetCredentialRequest.Builder addCredentialOption (CredentialOption credentialOption)
```

Adds a specific type of `https://developer.android.com/reference/android/credentials/CredentialOption`.

<br />

| Parameters ||
|---|---|
| `credentialOption` | `CredentialOption`: This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/credentials/GetCredentialRequest.Builder` | This value cannot be `null`. <br /> |

### build

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

```
public GetCredentialRequest build ()
```

Builds a `https://developer.android.com/reference/android/credentials/GetCredentialRequest`.

<br />

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

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException` | If credentialOptions is empty. |

### setAlwaysSendAppInfoToProvider

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

```
public GetCredentialRequest.Builder setAlwaysSendAppInfoToProvider (boolean value)
```

Sets a true/false value to determine if the calling app info should be removed from the request that is sent to the providers. Developers must set this to false if they wish to remove the `https://developer.android.com/reference/android/service/credentials/CallingAppInfo` from the query phases requests that providers receive. Note that the calling app info will still be sent in the final phase after the user has made a selection on the UI. If not set, the default value will be true and the calling app info will be propagated to the providers in every phase.

<br />

| Parameters ||
|---|---|
| `value` | `boolean` <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/credentials/GetCredentialRequest.Builder` | This value cannot be `null`. <br /> |

### setCredentialOptions

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

```
public GetCredentialRequest.Builder setCredentialOptions (List<CredentialOption> credentialOptions)
```

Sets the list of `https://developer.android.com/reference/android/credentials/CredentialOption`.

<br />

| Parameters ||
|---|---|
| `credentialOptions` | `List`: This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/credentials/GetCredentialRequest.Builder` | This value cannot be `null`. <br /> |

### setOrigin

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

```
public GetCredentialRequest.Builder setOrigin (String origin)
```

Sets the origin of the calling app. Callers of this special setter (e.g. browsers) can set this origin for an app different from their own, to be able to get credentials on behalf of that app. The permission check only happens later when this instance is passed and processed by the Credential Manager.   

Requires `https://developer.android.com/reference/android/Manifest.permission#CREDENTIAL_MANAGER_SET_ORIGIN`

<br />

| Parameters ||
|---|---|
| `origin` | `String`: This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/credentials/GetCredentialRequest.Builder` | This value cannot be `null`. <br /> |