# WifiP2pManager.ExternalApproverRequestListener

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

# WifiP2pManager.ExternalApproverRequestListener

*** ** * ** ***

[Kotlin](https://developer.android.com/reference/kotlin/android/net/wifi/p2p/WifiP2pManager.ExternalApproverRequestListener "View this page in Kotlin") \|Java


`
public
static


interface
WifiP2pManager.ExternalApproverRequestListener
`


`


`

|---------------------------------------------------------------------|
| android.net.wifi.p2p.WifiP2pManager.ExternalApproverRequestListener |

<br />

*** ** * ** ***

Interface for callback invocation when an incoming request is received.

This callback is registered by
[WifiP2pManager.addExternalApprover(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.MacAddress, android.net.wifi.p2p.WifiP2pManager.ExternalApproverRequestListener)](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager#addExternalApprover(android.net.wifi.p2p.WifiP2pManager.Channel,%20android.net.MacAddress,%20android.net.wifi.p2p.WifiP2pManager.ExternalApproverRequestListener)).

## Summary

|                                                                                                                                                                                                                                                                                               ### Constants                                                                                                                                                                                                                                                                                                ||
|-------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `int` | [APPROVER_DETACH_REASON_CLOSE](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.ExternalApproverRequestListener#APPROVER_DETACH_REASON_CLOSE) Detached since the [WifiP2pManager](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager) channel was closed, e.g.                                                                                                                                                                                                                                                                                  |
| `int` | [APPROVER_DETACH_REASON_FAILURE](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.ExternalApproverRequestListener#APPROVER_DETACH_REASON_FAILURE) Detached due to a framework failure.                                                                                                                                                                                                                                                                                                                                                                                   |
| `int` | [APPROVER_DETACH_REASON_REMOVE](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.ExternalApproverRequestListener#APPROVER_DETACH_REASON_REMOVE) Detached by a call to [WifiP2pManager.removeExternalApprover(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.MacAddress, android.net.wifi.p2p.WifiP2pManager.ActionListener)](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager#removeExternalApprover(android.net.wifi.p2p.WifiP2pManager.Channel,%20android.net.MacAddress,%20android.net.wifi.p2p.WifiP2pManager.ActionListener)). |
| `int` | [APPROVER_DETACH_REASON_REPLACE](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.ExternalApproverRequestListener#APPROVER_DETACH_REASON_REPLACE) Detached when a new approver replaces an old one.                                                                                                                                                                                                                                                                                                                                                                      |
| `int` | [REQUEST_TYPE_INVITATION](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.ExternalApproverRequestListener#REQUEST_TYPE_INVITATION) This device received an invitation request from GO to join the group.                                                                                                                                                                                                                                                                                                                                                                |
| `int` | [REQUEST_TYPE_JOIN](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.ExternalApproverRequestListener#REQUEST_TYPE_JOIN) This GO device received a request from a peer to join the group.                                                                                                                                                                                                                                                                                                                                                                                 |
| `int` | [REQUEST_TYPE_NEGOTIATION](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.ExternalApproverRequestListener#REQUEST_TYPE_NEGOTIATION) This device received a negotiation request from another peer.                                                                                                                                                                                                                                                                                                                                                                      |

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ### Public methods                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ||
|------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` abstract void` | ` `[onAttached](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.ExternalApproverRequestListener#onAttached(android.net.MacAddress))`(`[MacAddress](https://developer.android.com/reference/android/net/MacAddress)` deviceAddress) ` Called when an approver registration via [WifiP2pManager.addExternalApprover(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.MacAddress, android.net.wifi.p2p.WifiP2pManager.ExternalApproverRequestListener)](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager#addExternalApprover(android.net.wifi.p2p.WifiP2pManager.Channel,%20android.net.MacAddress,%20android.net.wifi.p2p.WifiP2pManager.ExternalApproverRequestListener)) is successful.                                                                                                                                                                                                                                                                                                                                                                              |
| ` abstract void` | ` `[onConnectionRequested](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.ExternalApproverRequestListener#onConnectionRequested(int,%20android.net.wifi.p2p.WifiP2pConfig,%20android.net.wifi.p2p.WifiP2pDevice))`(int requestType, `[WifiP2pConfig](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pConfig)` config, `[WifiP2pDevice](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pDevice)` device) ` Called when there is an incoming connection request which matches a peer (identified by its [MacAddress](https://developer.android.com/reference/android/net/MacAddress)) registered by the external approver through [WifiP2pManager.addExternalApprover(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.MacAddress, android.net.wifi.p2p.WifiP2pManager.ExternalApproverRequestListener)](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager#addExternalApprover(android.net.wifi.p2p.WifiP2pManager.Channel,%20android.net.MacAddress,%20android.net.wifi.p2p.WifiP2pManager.ExternalApproverRequestListener)). |
| ` abstract void` | ` `[onDetached](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.ExternalApproverRequestListener#onDetached(android.net.MacAddress,%20int))`(`[MacAddress](https://developer.android.com/reference/android/net/MacAddress)` deviceAddress, int reason) ` Called when an approver registration via [WifiP2pManager.addExternalApprover(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.MacAddress, android.net.wifi.p2p.WifiP2pManager.ExternalApproverRequestListener)](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager#addExternalApprover(android.net.wifi.p2p.WifiP2pManager.Channel,%20android.net.MacAddress,%20android.net.wifi.p2p.WifiP2pManager.ExternalApproverRequestListener)) has failed.                                                                                                                                                                                                                                                                                                                                                              |
| ` default void`  | ` `[onPasswordGenerated](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.ExternalApproverRequestListener#onPasswordGenerated(android.net.MacAddress,%20java.lang.String))`(`[MacAddress](https://developer.android.com/reference/android/net/MacAddress)` deviceAddress, `[String](https://developer.android.com/reference/java/lang/String)` password) ` Called when a Wi-Fi Direct R2 pairing bootstrapping password is generated by the WiFi service.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ` abstract void` | ` `[onPinGenerated](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.ExternalApproverRequestListener#onPinGenerated(android.net.MacAddress,%20java.lang.String))`(`[MacAddress](https://developer.android.com/reference/android/net/MacAddress)` deviceAddress, `[String](https://developer.android.com/reference/java/lang/String)` pin) ` Called when a WPS PIN or Wi-Fi Direct R2 pairing bootstrapping PIN is generated by the WiFi service.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |

## Constants

### APPROVER_DETACH_REASON_CLOSE

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

```
public static final int APPROVER_DETACH_REASON_CLOSE
```

Detached since the [WifiP2pManager](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager) channel was closed, e.g.
by using [Channel.close()](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.Channel#close()) method.

Used in [onDetached(android.net.MacAddress, int)](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.ExternalApproverRequestListener#onDetached(android.net.MacAddress,%20int)).

<br />

Constant Value:

3
(0x00000003)


### APPROVER_DETACH_REASON_FAILURE

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

```
public static final int APPROVER_DETACH_REASON_FAILURE
```

Detached due to a framework failure.

Used in [onDetached(android.net.MacAddress, int)](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.ExternalApproverRequestListener#onDetached(android.net.MacAddress,%20int)).

<br />

Constant Value:

1
(0x00000001)


### APPROVER_DETACH_REASON_REMOVE

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

```
public static final int APPROVER_DETACH_REASON_REMOVE
```

Detached by a call to
[WifiP2pManager.removeExternalApprover(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.MacAddress, android.net.wifi.p2p.WifiP2pManager.ActionListener)](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager#removeExternalApprover(android.net.wifi.p2p.WifiP2pManager.Channel,%20android.net.MacAddress,%20android.net.wifi.p2p.WifiP2pManager.ActionListener)).

Used in [onDetached(android.net.MacAddress, int)](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.ExternalApproverRequestListener#onDetached(android.net.MacAddress,%20int)).

<br />

Constant Value:

0
(0x00000000)


### APPROVER_DETACH_REASON_REPLACE

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

```
public static final int APPROVER_DETACH_REASON_REPLACE
```

Detached when a new approver replaces an old one.

Used in [onDetached(android.net.MacAddress, int)](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.ExternalApproverRequestListener#onDetached(android.net.MacAddress,%20int)).

<br />

Constant Value:

2
(0x00000002)


### REQUEST_TYPE_INVITATION

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

```
public static final int REQUEST_TYPE_INVITATION
```

This device received an invitation request from GO to join the group.

Used in [onConnectionRequested(int, android.net.wifi.p2p.WifiP2pConfig, android.net.wifi.p2p.WifiP2pDevice)](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.ExternalApproverRequestListener#onConnectionRequested(int,%20android.net.wifi.p2p.WifiP2pConfig,%20android.net.wifi.p2p.WifiP2pDevice)).

<br />

Constant Value:

1
(0x00000001)


### REQUEST_TYPE_JOIN

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

```
public static final int REQUEST_TYPE_JOIN
```

This GO device received a request from a peer to join the group.

Used in [onConnectionRequested(int, android.net.wifi.p2p.WifiP2pConfig, android.net.wifi.p2p.WifiP2pDevice)](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.ExternalApproverRequestListener#onConnectionRequested(int,%20android.net.wifi.p2p.WifiP2pConfig,%20android.net.wifi.p2p.WifiP2pDevice)).

<br />

Constant Value:

2
(0x00000002)


### REQUEST_TYPE_NEGOTIATION

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

```
public static final int REQUEST_TYPE_NEGOTIATION
```

This device received a negotiation request from another peer.

Used in [onConnectionRequested(int, android.net.wifi.p2p.WifiP2pConfig, android.net.wifi.p2p.WifiP2pDevice)](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.ExternalApproverRequestListener#onConnectionRequested(int,%20android.net.wifi.p2p.WifiP2pConfig,%20android.net.wifi.p2p.WifiP2pDevice)).

<br />

Constant Value:

0
(0x00000000)


## Public methods

### onAttached

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

```
public abstract void onAttached (MacAddress deviceAddress)
```

Called when an approver registration via
[WifiP2pManager.addExternalApprover(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.MacAddress, android.net.wifi.p2p.WifiP2pManager.ExternalApproverRequestListener)](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager#addExternalApprover(android.net.wifi.p2p.WifiP2pManager.Channel,%20android.net.MacAddress,%20android.net.wifi.p2p.WifiP2pManager.ExternalApproverRequestListener))
is successful.

<br />

|                                                      Parameters                                                      ||
|-----------------|-----------------------------------------------------------------------------------------------------|
| `deviceAddress` | `MacAddress`: is the peer MAC address used in the registration. This value cannot be `null`. <br /> |

### onConnectionRequested

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

```
public abstract void onConnectionRequested (int requestType, 
                WifiP2pConfig config, 
                WifiP2pDevice device)
```

Called when there is an incoming connection request
which matches a peer (identified by its [MacAddress](https://developer.android.com/reference/android/net/MacAddress)) registered by the external
approver through
[WifiP2pManager.addExternalApprover(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.MacAddress, android.net.wifi.p2p.WifiP2pManager.ExternalApproverRequestListener)](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager#addExternalApprover(android.net.wifi.p2p.WifiP2pManager.Channel,%20android.net.MacAddress,%20android.net.wifi.p2p.WifiP2pManager.ExternalApproverRequestListener)).
The external approver is expected to follow up with a connection decision using the
[WifiP2pManager.setConnectionRequestResult(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.MacAddress, int, android.net.wifi.p2p.WifiP2pManager.ActionListener)](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager#setConnectionRequestResult(android.net.wifi.p2p.WifiP2pManager.Channel,%20android.net.MacAddress,%20int,%20android.net.wifi.p2p.WifiP2pManager.ActionListener)) with
[WifiP2pManager.CONNECTION_REQUEST_ACCEPT](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager#CONNECTION_REQUEST_ACCEPT), [WifiP2pManager.CONNECTION_REQUEST_REJECT](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager#CONNECTION_REQUEST_REJECT), or
[WifiP2pManager.CONNECTION_REQUEST_DEFER_TO_SERVICE](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager#CONNECTION_REQUEST_DEFER_TO_SERVICE).

<br />

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Parameters                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             ||
|---------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `requestType` | `int`: is one of [REQUEST_TYPE_NEGOTIATION](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.ExternalApproverRequestListener#REQUEST_TYPE_NEGOTIATION), [REQUEST_TYPE_INVITATION](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.ExternalApproverRequestListener#REQUEST_TYPE_INVITATION), and [REQUEST_TYPE_JOIN](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.ExternalApproverRequestListener#REQUEST_TYPE_JOIN). Value is [REQUEST_TYPE_NEGOTIATION](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.ExternalApproverRequestListener#REQUEST_TYPE_NEGOTIATION), [REQUEST_TYPE_INVITATION](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.ExternalApproverRequestListener#REQUEST_TYPE_INVITATION), or [REQUEST_TYPE_JOIN](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.ExternalApproverRequestListener#REQUEST_TYPE_JOIN) <br /> |
| `config`      | `WifiP2pConfig`: is the peer configuration. This value cannot be `null`. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `device`      | `WifiP2pDevice`: is the peer information. This value cannot be `null`. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |

### onDetached

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

```
public abstract void onDetached (MacAddress deviceAddress, 
                int reason)
```

Called when an approver registration via
[WifiP2pManager.addExternalApprover(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.MacAddress, android.net.wifi.p2p.WifiP2pManager.ExternalApproverRequestListener)](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager#addExternalApprover(android.net.wifi.p2p.WifiP2pManager.Channel,%20android.net.MacAddress,%20android.net.wifi.p2p.WifiP2pManager.ExternalApproverRequestListener))
has failed.

<br />

|                                                                                                                                                                                                                                                                                                                                                                                     Parameters                                                                                                                                                                                                                                                                                                                                                                                     ||
|-----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `deviceAddress` | `MacAddress`: is the peer MAC address used in the registration. This value cannot be `null`. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `reason`        | `int`: is the failure reason. Value is [APPROVER_DETACH_REASON_REMOVE](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.ExternalApproverRequestListener#APPROVER_DETACH_REASON_REMOVE), [APPROVER_DETACH_REASON_FAILURE](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.ExternalApproverRequestListener#APPROVER_DETACH_REASON_FAILURE), [APPROVER_DETACH_REASON_REPLACE](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.ExternalApproverRequestListener#APPROVER_DETACH_REASON_REPLACE), or [APPROVER_DETACH_REASON_CLOSE](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.ExternalApproverRequestListener#APPROVER_DETACH_REASON_CLOSE) <br /> |

### onPasswordGenerated

[**Added in Android Baklava**](https://developer.android.com/preview)  

```
public void onPasswordGenerated (MacAddress deviceAddress, 
                String password)
```

Called when a Wi-Fi Direct R2 pairing bootstrapping password is generated by the WiFi
service.

The external approver can display the password, exchange the password via Out-Of-Band way
or ask the wifi service to show the password as usual using the
[WifiP2pManager.setConnectionRequestResult(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.MacAddress, int, android.net.wifi.p2p.WifiP2pManager.ActionListener)](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager#setConnectionRequestResult(android.net.wifi.p2p.WifiP2pManager.Channel,%20android.net.MacAddress,%20int,%20android.net.wifi.p2p.WifiP2pManager.ActionListener))
with [WifiP2pManager.CONNECTION_REQUEST_DEFER_SHOW_PASSWORD_TO_SERVICE](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager#CONNECTION_REQUEST_DEFER_SHOW_PASSWORD_TO_SERVICE).

<br />

|                                                      Parameters                                                      ||
|-----------------|-----------------------------------------------------------------------------------------------------|
| `deviceAddress` | `MacAddress`: is the peer MAC address used in the registration. This value cannot be `null`. <br /> |
| `password`      | `String`: is a Wi-Fi Direct R2 pairing bootstrapping password. This value cannot be `null`. <br />  |

### onPinGenerated

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

```
public abstract void onPinGenerated (MacAddress deviceAddress, 
                String pin)
```

Called when a WPS PIN or Wi-Fi Direct R2 pairing bootstrapping PIN is generated by the
WiFi service.

The external approver can display the PIN, exchange the PIN via Out-Of-Band way
or ask the wifi service to show the PIN as usual using the
[WifiP2pManager.setConnectionRequestResult(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.MacAddress, int, android.net.wifi.p2p.WifiP2pManager.ActionListener)](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager#setConnectionRequestResult(android.net.wifi.p2p.WifiP2pManager.Channel,%20android.net.MacAddress,%20int,%20android.net.wifi.p2p.WifiP2pManager.ActionListener))
with [WifiP2pManager.CONNECTION_REQUEST_DEFER_SHOW_PIN_TO_SERVICE](https://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager#CONNECTION_REQUEST_DEFER_SHOW_PIN_TO_SERVICE).

<br />

|                                                         Parameters                                                          ||
|-----------------|------------------------------------------------------------------------------------------------------------|
| `deviceAddress` | `MacAddress`: is the peer MAC address used in the registration. This value cannot be `null`. <br />        |
| `pin`           | `String`: is a WPS PIN or a Wi-Fi Direct R2 pairing bootstrapping PIN. This value cannot be `null`. <br /> |