# Print output for @column tags ?>
Developers

- Design
- Develop
- Distribute

Developer Console

## Most visited

## Recently visited

## Results for

Summary: Ctors | Methods | Inherited Methods

# WifiNetworkSpecifier.Builder

`public static final class WifiNetworkSpecifier.Builder`
`extends Object` ``

java.lang.Object
↳ | android.net.wifi.WifiNetworkSpecifier.Builder

Builder used to create `WifiNetworkSpecifier` objects.

## Summary

### Public constructors
`Builder()`

### Public methods
`WifiNetworkSpecifier` | `build()` Create a specifier object used to request a local Wi-Fi network.
`WifiNetworkSpecifier.Builder` | `setBssid(MacAddress bssid)` Set the BSSID to use for filtering networks from scan results.
`WifiNetworkSpecifier.Builder` | `setBssidPattern(MacAddress baseAddress, MacAddress mask)` Set the BSSID match pattern to use for filtering networks from scan results.
`WifiNetworkSpecifier.Builder` | `setIsEnhancedOpen(boolean isEnhancedOpen)` Specifies whether this represents an Enhanced Open (OWE) network.
`WifiNetworkSpecifier.Builder` | `setIsHiddenSsid(boolean isHiddenSsid)` Specifies whether this represents a hidden network.
`WifiNetworkSpecifier.Builder` | `setSsid(String ssid)` Set the unicode SSID for the network.
`WifiNetworkSpecifier.Builder` | `setSsidPattern(PatternMatcher ssidPattern)` Set the unicode SSID match pattern to use for filtering networks from scan results.
`WifiNetworkSpecifier.Builder` | `setWpa2EnterpriseConfig(WifiEnterpriseConfig enterpriseConfig)` Set the associated enterprise configuration for this network.
`WifiNetworkSpecifier.Builder` | `setWpa2Passphrase(String passphrase)` Set the ASCII WPA2 passphrase for this network.
`WifiNetworkSpecifier.Builder` | `setWpa3EnterpriseConfig(WifiEnterpriseConfig enterpriseConfig)` Set the associated enterprise configuration for this network.
`WifiNetworkSpecifier.Builder` | `setWpa3Passphrase(String passphrase)` Set the ASCII WPA3 passphrase for this network.

### Inherited methods
From class `java.lang.Object`
`Object` | `clone()` Creates and returns a copy of this object.
`boolean` | `equals(Object obj)` Indicates whether some other object is "equal to" this one.
`void` | `finalize()` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
`final Class<?>` | `getClass()` Returns the runtime class of this `Object`.
`int` | `hashCode()` Returns a hash code value for the object.
`final void` | `notify()` Wakes up a single thread that is waiting on this object's monitor.
`final void` | `notifyAll()` Wakes up all threads that are waiting on this object's monitor.
`String` | `toString()` Returns a string representation of the object.
`final void` | `wait(long timeout, int nanos)` Causes the current thread to wait until another thread invokes the `notify()` method or the `notifyAll()` method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.
`final void` | `wait(long timeout)` Causes the current thread to wait until either another thread invokes the `notify()` method or the `notifyAll()` method for this object, or a specified amount of time has elapsed.
`final void` | `wait()` Causes the current thread to wait until another thread invokes the `notify()` method or the `notifyAll()` method for this object.

## Public constructors

### Builder

    public Builder ()

## Public methods

### build

    public WifiNetworkSpecifier build ()

Create a specifier object used to request a local Wi-Fi network. The generated `NetworkSpecifier` should be used in `NetworkRequest.Builder#setNetworkSpecifier(NetworkSpecifier)` when building the `NetworkRequest`. These specifiers can only be used to request a local wifi network (i.e no internet capability). So, the device will not switch it's default route to wifi if there are other transports (cellular for example) available.

Note: Apps can set a combination of network match params:

- SSID Pattern using `setSsidPattern(android.os.PatternMatcher)` OR Specific SSID using `setSsid(java.lang.String)`.
AND/OR
- BSSID Pattern using `setBssidPattern(android.net.MacAddress, android.net.MacAddress)` OR Specific BSSID using `setBssid(android.net.MacAddress)`
to trigger connection to a network that matches the set params. The system will find the set of networks matching the request and present the user with a system dialog which will allow the user to select a specific Wi-Fi network to connect to or to deny the request. For example: To connect to an open network with a SSID prefix of "test" and a BSSID OUI of "10:03:23":

    final NetworkSpecifier specifier =
          new Builder()
          .setSsidPattern(new PatternMatcher("test", PatterMatcher.PATTERN_PREFIX))
          .setBssidPattern(MacAddress.fromString("10:03:23:00:00:00"),
                           MacAddress.fromString("ff:ff:ff:00:00:00"))
          .build()
     final NetworkRequest request =
          new NetworkRequest.Builder()
          .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
          .removeCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
          .setNetworkSpecifier(specifier)
          .build();
     final ConnectivityManager connectivityManager =
          context.getSystemService(Context.CONNECTIVITY_SERVICE);
     final NetworkCallback networkCallback = new NetworkCallback() {
          ...
          {@literal @}Override
          void onAvailable(...) {}
          // etc.
     };
     connectivityManager.requestNetwork(request, networkCallback);

Returns
`WifiNetworkSpecifier` | Instance of `NetworkSpecifier`. This value cannot be `null`.

Throws
`IllegalStateException` | on invalid params set.

### setBssid

    public WifiNetworkSpecifier.Builder setBssid (MacAddress bssid)

Set the BSSID to use for filtering networks from scan results. Will only match network whose BSSID is identical to the specified value.

- Sets the BSSID to use for filtering networks from scan results. Will only match networks whose BSSID is identical to specified value.
- Overrides any previous value set using `setBssid(android.net.MacAddress)` or `setBssidPattern(android.net.MacAddress, android.net.MacAddress)`.

Parameters
`bssid` | `MacAddress`: BSSID of the network. This value cannot be `null`.

Returns
`WifiNetworkSpecifier.Builder` | Instance of `Builder` to enable chaining of the builder method. This value cannot be `null`.

### setBssidPattern

    public WifiNetworkSpecifier.Builder setBssidPattern (MacAddress baseAddress,
                    MacAddress mask)

Set the BSSID match pattern to use for filtering networks from scan results. Will match all networks with BSSID which satisfies the following: `BSSID & mask == baseAddress`.

- Overrides any previous value set using `setBssid(android.net.MacAddress)` or `setBssidPattern(android.net.MacAddress, android.net.MacAddress)`.

Parameters
`baseAddress` | `MacAddress`: Base address for BSSID pattern. This value cannot be `null`.
`mask` | `MacAddress`: Mask for BSSID pattern. This value cannot be `null`.

Returns
`WifiNetworkSpecifier.Builder` | Instance of `Builder` to enable chaining of the builder method. This value cannot be `null`.

### setIsEnhancedOpen

    public WifiNetworkSpecifier.Builder setIsEnhancedOpen (boolean isEnhancedOpen)

Specifies whether this represents an Enhanced Open (OWE) network.

Parameters
`isEnhancedOpen` | `boolean`: `true` to indicate that the network uses enhanced open, `false` otherwise.

Returns
`WifiNetworkSpecifier.Builder` | Instance of `Builder` to enable chaining of the builder method. This value cannot be `null`.

### setIsHiddenSsid

    public WifiNetworkSpecifier.Builder setIsHiddenSsid (boolean isHiddenSsid)

Specifies whether this represents a hidden network.

- Setting this disallows the usage of `setSsidPattern(android.os.PatternMatcher)` since hidden networks need to be explicitly probed for.
- If not set, defaults to false (i.e not a hidden network).

Parameters
`isHiddenSsid` | `boolean`: `true` to indicate that the network is hidden, `false` otherwise.

Returns
`WifiNetworkSpecifier.Builder` | Instance of `Builder` to enable chaining of the builder method. This value cannot be `null`.

### setSsid

    public WifiNetworkSpecifier.Builder setSsid (String ssid)

Set the unicode SSID for the network.

- Sets the SSID to use for filtering networks from scan results. Will only match networks whose SSID is identical to the UTF-8 encoding of the specified value.
- Overrides any previous value set using `setSsid(java.lang.String)` or `setSsidPattern(android.os.PatternMatcher)`.

Parameters
`ssid` | `String`: The SSID of the network. It must be valid Unicode. This value cannot be `null`.

Returns
`WifiNetworkSpecifier.Builder` | Instance of `Builder` to enable chaining of the builder method. This value cannot be `null`.

Throws
`IllegalArgumentException` | if the SSID is not valid unicode.

### setSsidPattern

    public WifiNetworkSpecifier.Builder setSsidPattern (PatternMatcher ssidPattern)

Set the unicode SSID match pattern to use for filtering networks from scan results.

- Overrides any previous value set using `setSsid(java.lang.String)` or `setSsidPattern(android.os.PatternMatcher)`.

Parameters
`ssidPattern` | `PatternMatcher`: Instance of `PatternMatcher` containing the UTF-8 encoded string pattern to use for matching the network's SSID. This value cannot be `null`.

Returns
`WifiNetworkSpecifier.Builder` | Instance of `Builder` to enable chaining of the builder method. This value cannot be `null`.

### setWpa2EnterpriseConfig

    public WifiNetworkSpecifier.Builder setWpa2EnterpriseConfig (WifiEnterpriseConfig enterpriseConfig)

Set the associated enterprise configuration for this network. Needed for authenticating to WPA2-EAP networks. See `WifiEnterpriseConfig` for description.

Parameters
`enterpriseConfig` | `WifiEnterpriseConfig`: Instance of `WifiEnterpriseConfig`. This value cannot be `null`.

Returns
`WifiNetworkSpecifier.Builder` | Instance of `Builder` to enable chaining of the builder method. This value cannot be `null`.

### setWpa2Passphrase

    public WifiNetworkSpecifier.Builder setWpa2Passphrase (String passphrase)

Set the ASCII WPA2 passphrase for this network. Needed for authenticating to WPA2-PSK networks.

Parameters
`passphrase` | `String`: passphrase of the network. This value cannot be `null`.

Returns
`WifiNetworkSpecifier.Builder` | Instance of `Builder` to enable chaining of the builder method. This value cannot be `null`.

Throws
`IllegalArgumentException` | if the passphrase is not ASCII encodable.

### setWpa3EnterpriseConfig

    public WifiNetworkSpecifier.Builder setWpa3EnterpriseConfig (WifiEnterpriseConfig enterpriseConfig)

Set the associated enterprise configuration for this network. Needed for authenticating to WPA3-SuiteB networks. See `WifiEnterpriseConfig` for description.

Parameters
`enterpriseConfig` | `WifiEnterpriseConfig`: Instance of `WifiEnterpriseConfig`. This value cannot be `null`.

Returns
`WifiNetworkSpecifier.Builder` | Instance of `Builder` to enable chaining of the builder method. This value cannot be `null`.

### setWpa3Passphrase

    public WifiNetworkSpecifier.Builder setWpa3Passphrase (String passphrase)

Set the ASCII WPA3 passphrase for this network. Needed for authenticating to WPA3-SAE networks.

Parameters
`passphrase` | `String`: passphrase of the network. This value cannot be `null`.

Returns
`WifiNetworkSpecifier.Builder` | Instance of `Builder` to enable chaining of the builder method. This value cannot be `null`.

Throws
`IllegalArgumentException` | if the passphrase is not ASCII encodable.

Full name *
Email address *
Company / developer name
One of your Play Store app URLs *
Which best describes your business:*
Apps
Games
Apps & Games
*
*