WifiP2pDevice


public class WifiP2pDevice
extends Object implements Parcelable

java.lang.Object
   ↳ android.net.wifi.p2p.WifiP2pDevice


A class representing a Wi-Fi p2p device Note that the operations are not thread safe

See also:

Summary

Constants

int AVAILABLE

int CONNECTED

int FAILED

int INVITED

int UNAVAILABLE

Inherited constants

Fields

public static final Creator<WifiP2pDevice> CREATOR

Implement the Parcelable interface

public String deviceAddress

The device MAC address uniquely identifies a Wi-Fi p2p device

public String deviceName

The device name is a user friendly string to identify a Wi-Fi p2p device

public String primaryDeviceType

Primary device type identifies the type of device.

public String secondaryDeviceType

Secondary device type is an optional attribute that can be provided by a device in addition to the primary device type.

public int status

Device connection status

Public constructors

WifiP2pDevice()
WifiP2pDevice(WifiP2pDevice source)

copy constructor

Public methods

int describeContents()

Implement the Parcelable interface

boolean equals(Object obj)

Indicates whether some other object is "equal to" this one.

InetAddress getIpAddress()

Get the IP address of the connected client device.

List<ScanResult.InformationElement> getVendorElements()

Get the vendor-specific information elements received as part of the discovery of the peer device.

WifiP2pWfdInfo getWfdInfo()

The Wifi Display information for this device, or null if unavailable.

int hashCode()

Returns a hash code value for the object.

boolean isGroupOwner()

Returns true if the device is a group owner

boolean isServiceDiscoveryCapable()

Returns true if the device is capable of service discovery

String toString()

Returns a string representation of the object.

void update(WifiP2pDevice device)

Update this device's details using another WifiP2pDevice instance.

boolean wpsDisplaySupported()

Returns true if WPS display configuration is supported

boolean wpsKeypadSupported()

Returns true if WPS keypad configuration is supported

boolean wpsPbcSupported()

Returns true if WPS push button configuration is supported

void writeToParcel(Parcel dest, int flags)

Implement the Parcelable interface

Inherited methods

Constants

AVAILABLE

Added in API level 14
public static final int AVAILABLE

Constant Value: 3 (0x00000003)

CONNECTED

Added in API level 14
public static final int CONNECTED

Constant Value: 0 (0x00000000)

FAILED

Added in API level 14
public static final int FAILED

Constant Value: 2 (0x00000002)

INVITED

Added in API level 14
public static final int INVITED

Constant Value: 1 (0x00000001)

UNAVAILABLE

Added in API level 14
public static final int UNAVAILABLE

Constant Value: 4 (0x00000004)

Fields

CREATOR

Added in API level 14
public static final Creator<WifiP2pDevice> CREATOR

Implement the Parcelable interface

deviceAddress

Added in API level 14
public String deviceAddress

The device MAC address uniquely identifies a Wi-Fi p2p device

deviceName

Added in API level 14
public String deviceName

The device name is a user friendly string to identify a Wi-Fi p2p device

primaryDeviceType

Added in API level 14
public String primaryDeviceType

Primary device type identifies the type of device. For example, an application could filter the devices discovered to only display printers if the purpose is to enable a printing action from the user. See the Wi-Fi Direct technical specification for the full list of standard device types supported.

secondaryDeviceType

Added in API level 14
public String secondaryDeviceType

Secondary device type is an optional attribute that can be provided by a device in addition to the primary device type.

status

Added in API level 14
public int status

Device connection status

Public constructors

WifiP2pDevice

Added in API level 14
public WifiP2pDevice ()

WifiP2pDevice

Added in API level 14
public WifiP2pDevice (WifiP2pDevice source)

copy constructor

Parameters
source WifiP2pDevice

Public methods

describeContents

Added in API level 14
public int describeContents ()

Implement the Parcelable interface

Returns
int a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or CONTENTS_FILE_DESCRIPTOR

equals

Added in API level 14
public boolean equals (Object obj)

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
obj Object: the reference object with which to compare.

Returns
boolean true if this object is the same as the obj argument; false otherwise.

getIpAddress

Added in API level 35
public InetAddress getIpAddress ()

Get the IP address of the connected client device. The application should listen to WifiP2pManager#WIFI_P2P_CONNECTION_CHANGED_ACTION broadcast to obtain the IP address of the connected client. When system assigns the IP address, the connected P2P device information (WifiP2pGroup#getClientList()) in the group is updated with the IP address and broadcast the group information using WifiP2pManager#EXTRA_WIFI_P2P_GROUP extra of the WifiP2pManager#WIFI_P2P_CONNECTION_CHANGED_ACTION broadcast intent. Alternatively, the application can request for the group details with WifiP2pManager#requestGroupInfo and use (WifiP2pGroup#getClientList()) to obtain the connected client details.

Returns
InetAddress the IP address if the device is a part of the group; otherwise null.

getVendorElements

Added in API level 33
public List<ScanResult.InformationElement> getVendorElements ()

Get the vendor-specific information elements received as part of the discovery of the peer device.

Returns
List<ScanResult.InformationElement> the list of vendor-specific information elements The information element format is defined in the IEEE 802.11-2016 spec Table 9-77. This value cannot be null.

getWfdInfo

Added in API level 30
public WifiP2pWfdInfo getWfdInfo ()

The Wifi Display information for this device, or null if unavailable.

Returns
WifiP2pWfdInfo

hashCode

Added in API level 14
public int hashCode ()

Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.

Returns
int a hash code value for this object.

isGroupOwner

Added in API level 14
public boolean isGroupOwner ()

Returns true if the device is a group owner

Returns
boolean

isServiceDiscoveryCapable

Added in API level 14
public boolean isServiceDiscoveryCapable ()

Returns true if the device is capable of service discovery

Returns
boolean

toString

Added in API level 14
public String toString ()

Returns a string representation of the object.

Returns
String a string representation of the object.

update

Added in API level 30
public void update (WifiP2pDevice device)

Update this device's details using another WifiP2pDevice instance. This will throw an exception if the device address does not match.

Parameters
device WifiP2pDevice: another instance of WifiP2pDevice used to update this instance. This value cannot be null.

Throws
IllegalArgumentException if the device is null or the device address does not match

wpsDisplaySupported

Added in API level 14
public boolean wpsDisplaySupported ()

Returns true if WPS display configuration is supported

Returns
boolean

wpsKeypadSupported

Added in API level 14
public boolean wpsKeypadSupported ()

Returns true if WPS keypad configuration is supported

Returns
boolean

wpsPbcSupported

Added in API level 14
public boolean wpsPbcSupported ()

Returns true if WPS push button configuration is supported

Returns
boolean

writeToParcel

Added in API level 14
public void writeToParcel (Parcel dest, 
                int flags)

Implement the Parcelable interface

Parameters
dest Parcel: The Parcel in which the object should be written. This value cannot be null.

flags int: Additional flags about how the object should be written. May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE. Value is either 0 or a combination of Parcelable.PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES