# DiscoveryRequest.Builder

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  
Also in[T Extensions 12](https://developer.android.com/sdkExtensions)

# Builder

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/android/net/nsd/DiscoveryRequest.Builder "View this page in Java")  

```
class Builder
```

|---|--------------------------------------------------------------------------------------------------------------------------------------|
| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)                                                       ||
| ↳ | [android.net.nsd.DiscoveryRequest.Builder](https://developer.android.com/reference/kotlin/android/net/nsd/DiscoveryRequest.Builder#) |

The builder for creating new[DiscoveryRequest](https://developer.android.com/reference/kotlin/android/net/nsd/DiscoveryRequest)objects.

## Summary

|                                                                                                                                                                                    Public constructors                                                                                                                                                                                    ||
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| [Builder](https://developer.android.com/reference/kotlin/android/net/nsd/DiscoveryRequest.Builder#Builder(kotlin.String))`(`serviceType:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`)` Creates a new default[Builder](https://developer.android.com/reference/kotlin/android/net/nsd/DiscoveryRequest.Builder#)object with given service type. |

|                                                                                                                                                                                                                                               Public methods                                                                                                                                                                                                                                               ||
|----------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [DiscoveryRequest](https://developer.android.com/reference/kotlin/android/net/nsd/DiscoveryRequest)                  | [build](https://developer.android.com/reference/kotlin/android/net/nsd/DiscoveryRequest.Builder#build())`()` Creates a new[DiscoveryRequest](https://developer.android.com/reference/kotlin/android/net/nsd/DiscoveryRequest)object.                                                                                                                                                 |
| [DiscoveryRequest.Builder](https://developer.android.com/reference/kotlin/android/net/nsd/DiscoveryRequest.Builder#) | [setNetwork](https://developer.android.com/reference/kotlin/android/net/nsd/DiscoveryRequest.Builder#setNetwork(android.net.Network))`(`network:` `[Network](https://developer.android.com/reference/kotlin/android/net/Network.html#)?`)` Sets the[Network](https://developer.android.com/reference/kotlin/android/net/Network.html#)on which the discovery queries should be sent. |
| [DiscoveryRequest.Builder](https://developer.android.com/reference/kotlin/android/net/nsd/DiscoveryRequest.Builder#) | [setSubtype](https://developer.android.com/reference/kotlin/android/net/nsd/DiscoveryRequest.Builder#setSubtype(kotlin.String))`(`subtype:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?`)` Sets the optional subtype of the services to be discovered.                                                                                        |

## Public constructors

### Builder

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  
Also in[T Extensions 12](https://developer.android.com/sdkExtensions)  

```
Builder(serviceType: String)
```

Creates a new default[Builder](https://developer.android.com/reference/kotlin/android/net/nsd/DiscoveryRequest.Builder#)object with given service type.

|                                                         Parameters                                                          ||
|---------------|--------------------------------------------------------------------------------------------------------------|
| `serviceType` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html):This value cannot be`null`. |

|                                   Exceptions                                    ||
|--------------------------------------|-------------------------------------------|
| `java.lang.IllegalArgumentException` | if`serviceType`is`null`or an empty string |

## Public methods

### build

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  
Also in[T Extensions 12](https://developer.android.com/sdkExtensions)  

```
fun build(): DiscoveryRequest
```

Creates a new[DiscoveryRequest](https://developer.android.com/reference/kotlin/android/net/nsd/DiscoveryRequest)object.

|                                                              Return                                                              ||
|-----------------------------------------------------------------------------------------------------|-----------------------------|
| [DiscoveryRequest](https://developer.android.com/reference/kotlin/android/net/nsd/DiscoveryRequest) | This value cannot be`null`. |

### setNetwork

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  
Also in[T Extensions 12](https://developer.android.com/sdkExtensions)  

```
fun setNetwork(network: Network?): DiscoveryRequest.Builder
```

Sets the[Network](https://developer.android.com/reference/kotlin/android/net/Network.html#)on which the discovery queries should be sent.

|                                                                                     Parameters                                                                                      ||
|-----------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `network` | [Network](https://developer.android.com/reference/kotlin/android/net/Network.html#)?:the discovery network or`null`if the query should be sent on all supported networks |

|                                                                      Return                                                                       ||
|----------------------------------------------------------------------------------------------------------------------|-----------------------------|
| [DiscoveryRequest.Builder](https://developer.android.com/reference/kotlin/android/net/nsd/DiscoveryRequest.Builder#) | This value cannot be`null`. |

### setSubtype

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  
Also in[T Extensions 12](https://developer.android.com/sdkExtensions)  

```
fun setSubtype(subtype: String?): DiscoveryRequest.Builder
```

Sets the optional subtype of the services to be discovered. If a non-empty`subtype`is specified, it must start with underscore ('_') and have the trailing "._sub" removed. Otherwise, android.net.nsd.NsdManager#discoverServices will fail with android.net.nsd.NsdManager#FAILURE_BAD_PARAMETER. For example,`subtype`should be "_printer" for DNS name "_printer._sub._http._tcp". In this case, only services with this`subtype`will be queried, rather than all services of the base service type. Note that a non-empty service type must be specified with #setServiceType if a non-empty subtype is specified by this method.

|                                                      Parameters                                                       ||
|-----------|------------------------------------------------------------------------------------------------------------|
| `subtype` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?:This value may be`null`. |

|                                                                      Return                                                                       ||
|----------------------------------------------------------------------------------------------------------------------|-----------------------------|
| [DiscoveryRequest.Builder](https://developer.android.com/reference/kotlin/android/net/nsd/DiscoveryRequest.Builder#) | This value cannot be`null`. |