Added in [version 37.2](https://developer.android.com/topic/libraries/support-library/revisions)  
Also in [C Extensions 24](https://developer.android.com/sdkExtensions) Summary: [Ctors](https://developer.android.com/reference/android/security/NetworkSecurityPolicy.Builder#pubctors) \| [Methods](https://developer.android.com/reference/android/security/NetworkSecurityPolicy.Builder#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/security/NetworkSecurityPolicy.Builder#inhmethods)

# NetworkSecurityPolicy.Builder

*** ** * ** ***


`
public
static
final

class
NetworkSecurityPolicy.Builder
`


`

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


`

`


`

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

<br />

*** ** * ** ***

A builder for a `https://developer.android.com/reference/android/security/NetworkSecurityPolicy`.

## Summary

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/security/NetworkSecurityPolicy.Builder#Builder(android.content.Context)(https://developer.android.com/reference/android/content/Context appContext) ` Creates a builder for the network security policy. |
| ` https://developer.android.com/reference/android/security/NetworkSecurityPolicy.Builder#Builder(android.content.Context,%20boolean)(https://developer.android.com/reference/android/content/Context appContext, boolean inheritNetworkSecurityConfig) ` Creates a builder for the network security policy. |

| ### Public methods ||
|---|---|
| ` https://developer.android.com/reference/android/security/NetworkSecurityPolicy.Builder` | ` https://developer.android.com/reference/android/security/NetworkSecurityPolicy.Builder#addDomainConfig(android.security.net.config.Domain,%20android.security.net.config.NetworkSecurityConfig)(https://developer.android.com/reference/android/security/net/config/Domain domain, https://developer.android.com/reference/android/security/net/config/NetworkSecurityConfig config) ` Adds a config for the provided domain (see [domain-config](https://developer.android.com/privacy-and-security/security-config#domain-config) docs). |
| ` https://developer.android.com/reference/android/security/NetworkSecurityPolicy` | ` https://developer.android.com/reference/android/security/NetworkSecurityPolicy.Builder#build()() ` Creates a `https://developer.android.com/reference/android/security/NetworkSecurityPolicy` with the arguments provided to this builder. |
| ` https://developer.android.com/reference/android/security/NetworkSecurityPolicy.Builder` | ` https://developer.android.com/reference/android/security/NetworkSecurityPolicy.Builder#setBaseConfig(android.security.net.config.NetworkSecurityConfig)(https://developer.android.com/reference/android/security/net/config/NetworkSecurityConfig config) ` Sets the base config for this network security policy (see [base-config](https://developer.android.com/privacy-and-security/security-config#base-config) docs). |
| ` https://developer.android.com/reference/android/security/NetworkSecurityPolicy.Builder` | ` https://developer.android.com/reference/android/security/NetworkSecurityPolicy.Builder#setLocalhostConfig(android.security.net.config.NetworkSecurityConfig)(https://developer.android.com/reference/android/security/net/config/NetworkSecurityConfig config) ` Sets the localhost config for this network security policy (see [Localhost config](https://developer.android.com/privacy-and-security/security-config#Localhost) docs). |

### 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 [version 37.2](https://developer.android.com/topic/libraries/support-library/revisions)  
Also in [C Extensions 24](https://developer.android.com/sdkExtensions)

```
public Builder (Context appContext)
```

Creates a builder for the network security policy. The builder is initialized with
default values of the app's SDK target level.

<br />

| Parameters ||
|---|---|
| `appContext` | `Context`: the application `https://developer.android.com/reference/android/content/Context`. Must not be `null`. <br /> |

### Builder

Added in [version 37.2](https://developer.android.com/topic/libraries/support-library/revisions)  
Also in [C Extensions 24](https://developer.android.com/sdkExtensions)

```
public Builder (Context appContext, 
                boolean inheritNetworkSecurityConfig)
```

Creates a builder for the network security policy. The builder is initialized with either
the content of the app's Network Security Config XML, or with the default values of the
app's SDK target level.

<br />

| Parameters ||
|---|---|
| `appContext` | `Context`: the application `https://developer.android.com/reference/android/content/Context`. Must not be `null`. <br /> |
| `inheritNetworkSecurityConfig` | `boolean`: if true, initialize the builder with the content of the app's network security config. If false, initialize the builder with the default values of the app's SDK level. <br /> |

## Public methods

### addDomainConfig

Added in [version 37.2](https://developer.android.com/topic/libraries/support-library/revisions)  
Also in [C Extensions 24](https://developer.android.com/sdkExtensions)

```
public NetworkSecurityPolicy.Builder addDomainConfig (Domain domain, 
                NetworkSecurityConfig config)
```

Adds a config for the provided domain (see [domain-config](https://developer.android.com/privacy-and-security/security-config#domain-config)
docs). Any existing config for the domain will be replaced.

<br />

| Parameters ||
|---|---|
| `domain` | `Domain`: the domain. Must not be `null`. <br /> |
| `config` | `NetworkSecurityConfig`: the config to use as the domain config. This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/security/NetworkSecurityPolicy.Builder` | the builder. This value cannot be `null`. <br /> |

**See also:**

- `https://developer.android.com/reference/android/security/NetworkSecurityPolicy.Builder#setLocalhostConfig(android.security.net.config.NetworkSecurityConfig)`

### build

Added in [version 37.2](https://developer.android.com/topic/libraries/support-library/revisions)  
Also in [C Extensions 24](https://developer.android.com/sdkExtensions)

```
public NetworkSecurityPolicy build ()
```

Creates a `https://developer.android.com/reference/android/security/NetworkSecurityPolicy` with the arguments provided to this builder.

<br />

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

### setBaseConfig

Added in [version 37.2](https://developer.android.com/topic/libraries/support-library/revisions)  
Also in [C Extensions 24](https://developer.android.com/sdkExtensions)

```
public NetworkSecurityPolicy.Builder setBaseConfig (NetworkSecurityConfig config)
```

Sets the base config for this network security policy (see [base-config](https://developer.android.com/privacy-and-security/security-config#base-config) docs).

If unset, the base-config in the Network Security Configuration XML file of the app
provided at Builder construction is used.

<br />

| Parameters ||
|---|---|
| `config` | `NetworkSecurityConfig`: the config to use as the base config. This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/security/NetworkSecurityPolicy.Builder` | the builder. This value cannot be `null`. <br /> |

### setLocalhostConfig

Added in [version 37.2](https://developer.android.com/topic/libraries/support-library/revisions)  
Also in [C Extensions 24](https://developer.android.com/sdkExtensions)

```
public NetworkSecurityPolicy.Builder setLocalhostConfig (NetworkSecurityConfig config)
```

Sets the localhost config for this network security policy (see [Localhost
config](https://developer.android.com/privacy-and-security/security-config#Localhost) docs).

<br />

| Parameters ||
|---|---|
| `config` | `NetworkSecurityConfig`: the config to use as the localhost config. This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/security/NetworkSecurityPolicy.Builder` | the builder. This value cannot be `null`. <br /> |