Android APIs
public class

Network

extends Object
implements Parcelable
java.lang.Object
   ↳ android.net.Network

Class Overview

Identifies a Network. This is supplied to applications via ConnectivityManager.NetworkCallback in response to the active requestNetwork(NetworkRequest, PendingIntent) or passive registerNetworkCallback(NetworkRequest, PendingIntent) calls. It is used to direct traffic to the given Network, either on a Socket basis through a targeted SocketFactory or process-wide via bindProcessToNetwork(Network).

Summary

[Expand]
Inherited Constants
From interface android.os.Parcelable
Fields
public static final Creator<Network> CREATOR
Public Methods
void bindSocket(Socket socket)
Binds the specified Socket to this Network.
void bindSocket(DatagramSocket socket)
Binds the specified DatagramSocket to this Network.
void bindSocket(FileDescriptor fd)
Binds the specified FileDescriptor to this Network.
int describeContents()
Describe the kinds of special objects contained in this Parcelable's marshalled representation.
boolean equals(Object obj)
Compares this instance with the specified object and indicates if they are equal.
InetAddress[] getAllByName(String host)
Operates the same as InetAddress.getAllByName except that host resolution is done on this network.
InetAddress getByName(String host)
Operates the same as InetAddress.getByName except that host resolution is done on this network.
long getNetworkHandle()
Returns a handle representing this Network, for use with the NDK API.
SocketFactory getSocketFactory()
Returns a SocketFactory bound to this network.
int hashCode()
Returns an integer hash code for this object.
URLConnection openConnection(URL url)
Opens the specified URL on this Network, such that all traffic will be sent on this Network.
URLConnection openConnection(URL url, Proxy proxy)
Opens the specified URL on this Network, such that all traffic will be sent on this Network.
String toString()
Returns a string containing a concise, human-readable description of this object.
void writeToParcel(Parcel dest, int flags)
Flatten this object in to a Parcel.
[Expand]
Inherited Methods
From class java.lang.Object
From interface android.os.Parcelable

Fields

public static final Creator<Network> CREATOR

Added in API level 21

Public Methods

public void bindSocket (Socket socket)

Added in API level 21

Binds the specified Socket to this Network. All data traffic on the socket will be sent on this Network, irrespective of any process-wide network binding set by bindProcessToNetwork(Network). The socket must not be connected.

Throws
IOException

public void bindSocket (DatagramSocket socket)

Added in API level 22

Binds the specified DatagramSocket to this Network. All data traffic on the socket will be sent on this Network, irrespective of any process-wide network binding set by bindProcessToNetwork(Network). The socket must not be connected.

Throws
IOException

public void bindSocket (FileDescriptor fd)

Added in API level 23

Binds the specified FileDescriptor to this Network. All data traffic on the socket represented by this file descriptor will be sent on this Network, irrespective of any process-wide network binding set by bindProcessToNetwork(Network). The socket must not be connected.

Throws
IOException

public int describeContents ()

Added in API level 21

Describe the kinds of special objects contained in this Parcelable's marshalled representation.

Returns
  • a bitmask indicating the set of special object types marshalled by the Parcelable.

public boolean equals (Object obj)

Added in API level 21

Compares this instance with the specified object and indicates if they are equal. In order to be equal, o must represent the same object as this instance using a class-specific comparison. The general contract is that this comparison should be reflexive, symmetric, and transitive. Also, no object reference other than null is equal to null.

The default implementation returns true only if this == o. See Writing a correct equals method if you intend implementing your own equals method.

The general contract for the equals and hashCode() methods is that if equals returns true for any two objects, then hashCode() must return the same value for these objects. This means that subclasses of Object usually override either both methods or neither of them.

Parameters
obj the object to compare this instance with.
Returns
  • true if the specified object is equal to this Object; false otherwise.

public InetAddress[] getAllByName (String host)

Added in API level 21

Operates the same as InetAddress.getAllByName except that host resolution is done on this network.

Parameters
host the hostname or literal IP string to be resolved.
Returns
  • the array of addresses associated with the specified host.
Throws
UnknownHostException if the address lookup fails.

public InetAddress getByName (String host)

Added in API level 21

Operates the same as InetAddress.getByName except that host resolution is done on this network.

Parameters
host the hostName to be resolved to an address or null.
Returns
  • the InetAddress instance representing the host.
Throws
UnknownHostException if the address lookup fails.

public long getNetworkHandle ()

Added in API level 23

Returns a handle representing this Network, for use with the NDK API.

public SocketFactory getSocketFactory ()

Added in API level 21

Returns a SocketFactory bound to this network. Any Socket created by this factory will have its traffic sent over this Network. Note that if this Network ever disconnects, this factory and any Socket it produced in the past or future will cease to work.

Returns

public int hashCode ()

Added in API level 21

Returns an integer hash code for this object. By contract, any two objects for which equals(Object) returns true must return the same hash code value. This means that subclasses of Object usually override both methods or neither method.

Note that hash values must not change over time unless information used in equals comparisons also changes.

See Writing a correct hashCode method if you intend implementing your own hashCode method.

Returns
  • this object's hash code.

public URLConnection openConnection (URL url)

Added in API level 21

Opens the specified URL on this Network, such that all traffic will be sent on this Network. The URL protocol must be HTTP or HTTPS.

Returns
  • a URLConnection to the resource referred to by this URL.
Throws
MalformedURLException if the URL protocol is not HTTP or HTTPS.
IOException if an error occurs while opening the connection.
See Also

public URLConnection openConnection (URL url, Proxy proxy)

Added in API level 23

Opens the specified URL on this Network, such that all traffic will be sent on this Network. The URL protocol must be HTTP or HTTPS.

Parameters
proxy the proxy through which the connection will be established.
Returns
  • a URLConnection to the resource referred to by this URL.
Throws
MalformedURLException if the URL protocol is not HTTP or HTTPS.
IllegalArgumentException if the argument proxy is null.
IOException if an error occurs while opening the connection.
See Also

public String toString ()

Added in API level 21

Returns a string containing a concise, human-readable description of this object. Subclasses are encouraged to override this method and provide an implementation that takes into account the object's type and data. The default implementation is equivalent to the following expression:

   getClass().getName() + '@' + Integer.toHexString(hashCode())

See Writing a useful toString method if you intend implementing your own toString method.

Returns
  • a printable representation of this object.

public void writeToParcel (Parcel dest, int flags)

Added in API level 21

Flatten this object in to a Parcel.

Parameters
dest The Parcel in which the object should be written.
flags Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE.