to top
Android APIs
public final class

NetworkInterface

extends Object
java.lang.Object
   ↳ java.net.NetworkInterface

Class Overview

This class is used to represent a network interface of the local device. An interface is defined by its address and a platform dependent name. The class provides methods to get all information about the available interfaces of the system or to identify the local interface of a joined multicast group.

Summary

Public Methods
boolean equals(Object obj)
Compares the specified object to this NetworkInterface and returns whether they are equal or not.
static NetworkInterface getByIndex(int index)
Returns the NetworkInterface corresponding to the given interface index, or null if no interface has this index.
static NetworkInterface getByInetAddress(InetAddress address)
Returns the NetworkInterface corresponding to the given address, or null if no interface has this address.
static NetworkInterface getByName(String interfaceName)
Returns the NetworkInterface corresponding to the named network interface, or null if no interface has this name.
String getDisplayName()
Returns a human-readable name for this network interface.
byte[] getHardwareAddress()
Returns the hardware address of the interface, if it has one, or null otherwise.
int getIndex()
Returns the index for the network interface, or -1 if unknown.
Enumeration<InetAddress> getInetAddresses()
Returns an enumeration of the addresses bound to this network interface.
List<InterfaceAddress> getInterfaceAddresses()
Returns a List of the InterfaceAddresses for this network interface.
int getMTU()
Returns the Maximum Transmission Unit (MTU) of this interface.
String getName()
Returns the name of this network interface (such as "eth0" or "lo").
static Enumeration<NetworkInterface> getNetworkInterfaces()
Gets a list of all network interfaces available on the local system or null if no interface is available.
NetworkInterface getParent()
Returns the parent NetworkInterface of this interface if this is a sub-interface, or null if it's a physical (non virtual) interface.
Enumeration<NetworkInterface> getSubInterfaces()
Returns an enumeration of all the sub-interfaces of this network interface.
int hashCode()
Returns the hash code for this NetworkInterface.
boolean isLoopback()
Returns true if this network interface is a loopback interface.
boolean isPointToPoint()
Returns true if this network interface is a point-to-point interface.
boolean isUp()
Returns true if this network interface is up.
boolean isVirtual()
Returns true if this interface is a virtual interface (also called a sub-interface).
boolean supportsMulticast()
Returns true if this network interface supports multicast.
String toString()
Returns a string containing details of this network interface.
[Expand]
Inherited Methods
From class java.lang.Object

Public Methods

public boolean equals (Object obj)

Added in API level 1

Compares the specified object to this NetworkInterface and returns whether they are equal or not. The object must be an instance of NetworkInterface with the same name, display name, and list of interface addresses.

Parameters
obj the object to compare with this instance.
Returns
  • true if the specified object is equal to this NetworkInterface, false otherwise.
See Also

public static NetworkInterface getByIndex (int index)

Added in API level 19

Returns the NetworkInterface corresponding to the given interface index, or null if no interface has this index.

Throws
SocketException if an error occurs.

public static NetworkInterface getByInetAddress (InetAddress address)

Added in API level 1

Returns the NetworkInterface corresponding to the given address, or null if no interface has this address.

Throws
SocketException if an error occurs.
NullPointerException if address == null.

public static NetworkInterface getByName (String interfaceName)

Added in API level 1

Returns the NetworkInterface corresponding to the named network interface, or null if no interface has this name.

Throws
SocketException if an error occurs.
NullPointerException if interfaceName == null.

public String getDisplayName ()

Added in API level 1

Returns a human-readable name for this network interface. On Android, this is the same string as returned by getName().

public byte[] getHardwareAddress ()

Added in API level 9

Returns the hardware address of the interface, if it has one, or null otherwise.

Throws
SocketException if an I/O error occurs.

public int getIndex ()

Added in API level 19

Returns the index for the network interface, or -1 if unknown.

public Enumeration<InetAddress> getInetAddresses ()

Added in API level 1

Returns an enumeration of the addresses bound to this network interface.

public List<InterfaceAddress> getInterfaceAddresses ()

Added in API level 9

Returns a List of the InterfaceAddresses for this network interface.

public int getMTU ()

Added in API level 9

Returns the Maximum Transmission Unit (MTU) of this interface.

Returns
  • the value of the MTU for the interface.
Throws
SocketException if an I/O error occurs.

public String getName ()

Added in API level 1

Returns the name of this network interface (such as "eth0" or "lo").

public static Enumeration<NetworkInterface> getNetworkInterfaces ()

Added in API level 1

Gets a list of all network interfaces available on the local system or null if no interface is available.

Returns
  • the list of NetworkInterface instances representing the available interfaces.
Throws
SocketException if an error occurs while getting the network interface information.

public NetworkInterface getParent ()

Added in API level 9

Returns the parent NetworkInterface of this interface if this is a sub-interface, or null if it's a physical (non virtual) interface.

Returns
  • the NetworkInterface this interface is attached to.

public Enumeration<NetworkInterface> getSubInterfaces ()

Added in API level 9

Returns an enumeration of all the sub-interfaces of this network interface. Sub-interfaces are also known as virtual interfaces.

For example, eth0:1 would be a sub-interface of eth0.

Returns
  • an Enumeration of all the sub-interfaces of this network interface

public int hashCode ()

Added in API level 1

Returns the hash code for this NetworkInterface. Since the name should be unique for each network interface the hash code is generated using the name.

Returns
  • this object's hash code.

public boolean isLoopback ()

Added in API level 9

Returns true if this network interface is a loopback interface.

Returns
  • true if the interface is a loopback interface.
Throws
SocketException if an I/O error occurs.

public boolean isPointToPoint ()

Added in API level 9

Returns true if this network interface is a point-to-point interface. (For example, a PPP connection using a modem.)

Returns
  • true if the interface is point-to-point.
Throws
SocketException if an I/O error occurs.

public boolean isUp ()

Added in API level 9

Returns true if this network interface is up.

Returns
  • true if the interface is up.
Throws
SocketException if an I/O error occurs.

public boolean isVirtual ()

Added in API level 9

Returns true if this interface is a virtual interface (also called a sub-interface). Virtual interfaces are, on some systems, interfaces created as a child of a physical interface and given different settings (like address or MTU). Usually the name of the interface will the name of the parent followed by a colon (:) and a number identifying the child, since there can be several virtual interfaces attached to a single physical interface.

Returns
  • true if this interface is a virtual interface.

public boolean supportsMulticast ()

Added in API level 9

Returns true if this network interface supports multicast.

Throws
SocketException if an I/O error occurs.

public String toString ()

Added in API level 1

Returns a string containing details of this network interface. The exact format is deliberately unspecified. Callers that require a specific format should build a string themselves, using this class' accessor methods.

Returns
  • a printable representation of this object.