Added in [API level 37](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Nested Classes](https://developer.android.com/reference/android/content/pm/webapp/WebAppInstallRequest#nestedclasses) \| [Constants](https://developer.android.com/reference/android/content/pm/webapp/WebAppInstallRequest#constants) \| [Methods](https://developer.android.com/reference/android/content/pm/webapp/WebAppInstallRequest#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/content/pm/webapp/WebAppInstallRequest#inhmethods)

# WebAppInstallRequest

*** ** * ** ***


`
public


class
WebAppInstallRequest
`


`

extends https://developer.android.com/reference/java/lang/Object


`

`


`

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.content.pm.webapp.WebAppInstallRequest |

<br />

*** ** * ** ***

Encapsulates the parameters and callback for installing a Web App.

Instances of this class are created using the `https://developer.android.com/reference/android/content/pm/webapp/WebAppInstallRequest.Builder` and passed to `https://developer.android.com/reference/android/content/pm/webapp/WebAppManager#install(android.content.pm.webapp.WebAppInstallRequest,%20java.util.concurrent.Executor,%20java.util.function.ObjIntConsumer<java.lang.String>)`.
**See also:**

- `https://developer.android.com/reference/android/content/pm/webapp/WebAppManager`

## Summary

| ### Nested classes ||
|---|---|
| ` class` | `https://developer.android.com/reference/android/content/pm/webapp/WebAppInstallRequest.Builder` Builder for creating `https://developer.android.com/reference/android/content/pm/webapp/WebAppInstallRequest` instances. |

| ### Constants ||
|---|---|
| `int` | `https://developer.android.com/reference/android/content/pm/webapp/WebAppInstallRequest#RESULT_CANCELLED_BY_USER` The installation was cancelled by the user. |
| `int` | `https://developer.android.com/reference/android/content/pm/webapp/WebAppInstallRequest#RESULT_DUPLICATED_REQUEST` An installation request for the same Web App is already in progress. |
| `int` | `https://developer.android.com/reference/android/content/pm/webapp/WebAppInstallRequest#RESULT_INTERNAL_ERROR` The installation failed due to an internal system error. |
| `int` | `https://developer.android.com/reference/android/content/pm/webapp/WebAppInstallRequest#RESULT_INVALID_ARGUMENTS` The provided arguments (e.g., manifest URL) are invalid. |
| `int` | `https://developer.android.com/reference/android/content/pm/webapp/WebAppInstallRequest#RESULT_NETWORK_ERROR` The installation failed due to network connectivity issues or timeout. |
| `int` | `https://developer.android.com/reference/android/content/pm/webapp/WebAppInstallRequest#RESULT_PERMISSION_DENIED` The calling app does not have the necessary permission to install Web Apps. |
| `int` | `https://developer.android.com/reference/android/content/pm/webapp/WebAppInstallRequest#RESULT_SECURITY_ERROR` The installation was blocked due to security check failures. |
| `int` | `https://developer.android.com/reference/android/content/pm/webapp/WebAppInstallRequest#RESULT_SUCCESS` The installation completed successfully. |
| `int` | `https://developer.android.com/reference/android/content/pm/webapp/WebAppInstallRequest#RESULT_UNAVAILABLE` The installation failed due to the service being unavailable. |
| `int` | `https://developer.android.com/reference/android/content/pm/webapp/WebAppInstallRequest#RESULT_UNKNOWN` The installation result is unknown. |

| ### Public methods ||
|---|---|
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/content/pm/webapp/WebAppInstallRequest#getManifestUrl()() ` Returns the PWA manifest URL. |
| ` https://developer.android.com/reference/java/lang/CharSequence` | ` https://developer.android.com/reference/android/content/pm/webapp/WebAppInstallRequest#getTitle()() ` Returns the title provided for the installation request. |

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

### RESULT_CANCELLED_BY_USER

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

```
public static final int RESULT_CANCELLED_BY_USER
```

The installation was cancelled by the user.

<br />

Constant Value:

6
(0x00000006)


### RESULT_DUPLICATED_REQUEST

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

```
public static final int RESULT_DUPLICATED_REQUEST
```

An installation request for the same Web App is already in progress.

<br />

Constant Value:

4
(0x00000004)


### RESULT_INTERNAL_ERROR

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

```
public static final int RESULT_INTERNAL_ERROR
```

The installation failed due to an internal system error.

<br />

Constant Value:

2
(0x00000002)


### RESULT_INVALID_ARGUMENTS

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

```
public static final int RESULT_INVALID_ARGUMENTS
```

The provided arguments (e.g., manifest URL) are invalid.

<br />

Constant Value:

5
(0x00000005)


### RESULT_NETWORK_ERROR

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

```
public static final int RESULT_NETWORK_ERROR
```

The installation failed due to network connectivity issues or timeout.

<br />

Constant Value:

1
(0x00000001)


### RESULT_PERMISSION_DENIED

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

```
public static final int RESULT_PERMISSION_DENIED
```

The calling app does not have the necessary permission to install Web Apps.

The caller must be eligible to hold the `https://developer.android.com/reference/android/app/role/RoleManager#ROLE_BROWSER`
role.

<br />

Constant Value:

3
(0x00000003)


### RESULT_SECURITY_ERROR

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

```
public static final int RESULT_SECURITY_ERROR
```

The installation was blocked due to security check failures.

<br />

Constant Value:

7
(0x00000007)


### RESULT_SUCCESS

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

```
public static final int RESULT_SUCCESS
```

The installation completed successfully.

<br />

Constant Value:

0
(0x00000000)


### RESULT_UNAVAILABLE

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

```
public static final int RESULT_UNAVAILABLE
```

The installation failed due to the service being unavailable.

<br />

Constant Value:

8
(0x00000008)


### RESULT_UNKNOWN

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

```
public static final int RESULT_UNKNOWN
```

The installation result is unknown.

<br />

Constant Value:

9
(0x00000009)


## Public methods

### getManifestUrl

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

```
public String getManifestUrl ()
```

Returns the PWA manifest URL.

<br />

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

### getTitle

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

```
public CharSequence getTitle ()
```

Returns the title provided for the installation request.

<br />

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