ConnectivityManager
open class ConnectivityManager
| kotlin.Any | |
| ↳ | android.net.ConnectivityManager |
Class that answers queries about the state of network connectivity. It also notifies applications when network connectivity changes.
The primary responsibilities of this class are to:
- Monitor network connections (Wi-Fi, GPRS, UMTS, etc.)
- Send broadcast intents when network connectivity changes
- Attempt to "fail over" to another network when connectivity to a network is lost
- Provide an API that allows applications to query the coarse-grained or fine-grained state of the available networks
- Provide an API that allows applications to request and select networks for their data traffic
Summary
Nested classes |
|
|---|---|
| open |
Base class for |
| abstract |
Callback for use with |
Constants |
|
|---|---|
| static String |
Broadcast Action: The setting for background data usage has changed values. |
| static String |
The device has connected to a network that has presented a captive portal, which is blocking Internet connectivity. |
| static String |
A change in the background metered network activity restriction has occurred. |
| static String |
A change in network connectivity has occurred. |
| static Int |
If you want to set the default network preference,you can directly change the networkAttributes array in framework's config. |
| static String |
The lookup key for a |
| static String |
Key for passing a URL to the captive portal login activity. |
| static String |
The lookup key for a string that provides optionally supplied extra information about the network state. |
| static String |
The lookup key for a boolean that indicates whether a connect event is for a network to which the connectivity manager was failing over following a disconnect on another network. |
| static String |
The lookup key for a |
| static String |
The lookup key for a |
| static String |
The lookup key for a |
| static String |
Network type which triggered a |
| static String |
The lookup key for a boolean that indicates whether there is a complete lack of connectivity, i. |
| static String |
The lookup key for a |
| static String |
The lookup key for a string that indicates why an attempt to connect to a network failed. |
| static Int |
It is acceptable to briefly use multipath data to provide seamless connectivity for time-sensitive user-facing operations when the system default network is temporarily unresponsive. |
| static Int |
It is acceptable to use metered data to improve network latency and performance. |
| static Int |
It is acceptable to use small amounts of multipath data on an ongoing basis to provide a backup channel for traffic that is primarily going over another network. |
| static Int |
Device is not restricting metered network activity while application is running on background. |
| static Int |
Device is restricting metered network activity while application is running on background. |
| static Int |
Device is restricting metered network activity while application is running on background, but application is allowed to bypass it. |
| static Int |
A Bluetooth data connection. |
| static Int |
Dummy data connection. |
| static Int |
An Ethernet data connection. |
| static Int |
A Mobile data connection. |
| static Int |
A DUN-specific Mobile data connection. |
| static Int |
A High Priority Mobile data connection. |
| static Int |
An MMS-specific Mobile data connection. |
| static Int |
A SUPL-specific Mobile data connection. |
| static Int |
A virtual network using one or more native bearers. |
| static Int |
A WIFI data connection. |
| static Int |
A WiMAX data connection. |
Public methods |
|
|---|---|
| open Unit |
Start listening to reports when the system's default data network is active, meaning it is a good time to perform network traffic. |
| open Boolean |
bindProcessToNetwork(network: Network?)Binds the current process to |
| open SocketKeepalive |
createSocketKeepalive(network: Network, socket: IpSecManager.UdpEncapsulationSocket, source: InetAddress, destination: InetAddress, executor: Executor, callback: SocketKeepalive.Callback)Request that keepalives be started on a IPsec NAT-T socket. |
| open Network? |
Returns a |
| open NetworkInfo? |
Returns details about the currently active default data network. |
| open Array<NetworkInfo!> |
Returns connection status information about all network types supported by the device. |
| open Array<Network!> |
Returns an array of all |
| open Boolean |
Returns the value of the setting for background data usage. |
| open Network? |
Returns the |
| open Int |
getConnectionOwnerUid(protocol: Int, local: InetSocketAddress, remote: InetSocketAddress)Returns the |
| open ProxyInfo? |
Get the current default HTTP proxy settings. |
| open LinkProperties? |
getLinkProperties(network: Network?)Get the |
| open Int |
getMultipathPreference(network: Network?)Provides a hint to the calling application on whether it is desirable to use the multinetwork APIs (e.g., |
| open NetworkCapabilities? |
getNetworkCapabilities(network: Network?)Get the |
| open NetworkInfo? |
getNetworkInfo(networkType: Int)Returns connection status information about a particular network type. |
| open NetworkInfo? |
getNetworkInfo(network: Network?)Returns connection status information about a particular Network. |
| open Int |
Retrieves the current preferred network type. |
| open ByteArray? |
The network watchlist is a list of domains and IP addresses that are associated with potentially harmful apps. |
| open static Network? |
Returns the |
| open Int |
Determines if the calling application is subject to metered network restrictions while running on background. |
| open Boolean |
Returns if the currently active data network is metered. |
| open Boolean |
Return whether the data network is currently active. |
| open static Boolean |
isNetworkTypeValid(networkType: Int)Tests if a given integer represents a valid network type. |
| open Unit |
registerDefaultNetworkCallback(networkCallback: ConnectivityManager.NetworkCallback)Registers to receive notifications about changes in the system default network. |
| open Unit |
registerDefaultNetworkCallback(networkCallback: ConnectivityManager.NetworkCallback, handler: Handler)Registers to receive notifications about changes in the system default network. |
| open Unit |
registerNetworkCallback(request: NetworkRequest, networkCallback: ConnectivityManager.NetworkCallback)Registers to receive notifications about all networks which satisfy the given |
| open Unit |
registerNetworkCallback(request: NetworkRequest, networkCallback: ConnectivityManager.NetworkCallback, handler: Handler)Registers to receive notifications about all networks which satisfy the given |
| open Unit |
registerNetworkCallback(request: NetworkRequest, operation: PendingIntent)Registers a PendingIntent to be sent when a network is available which satisfies the given |
| open Unit |
releaseNetworkRequest(operation: PendingIntent)Removes a request made via |
| open Unit |
Remove network active listener previously registered with |
| open Unit |
reportBadNetwork(network: Network?)Report a problem network to the framework. |
| open Unit |
reportNetworkConnectivity(network: Network?, hasConnectivity: Boolean)Report to the framework whether a network has working connectivity. |
| open Boolean |
requestBandwidthUpdate(network: Network)Requests bandwidth update for a given |
| open Unit |
requestNetwork(request: NetworkRequest, networkCallback: ConnectivityManager.NetworkCallback)Request a network to satisfy a set of |
| open Unit |
requestNetwork(request: NetworkRequest, networkCallback: ConnectivityManager.NetworkCallback, handler: Handler)Request a network to satisfy a set of |
| open Unit |
requestNetwork(request: NetworkRequest, networkCallback: ConnectivityManager.NetworkCallback, timeoutMs: Int)Request a network to satisfy a set of |
| open Unit |
requestNetwork(request: NetworkRequest, networkCallback: ConnectivityManager.NetworkCallback, handler: Handler, timeoutMs: Int)Request a network to satisfy a set of |
| open Unit |
requestNetwork(request: NetworkRequest, operation: PendingIntent)Request a network to satisfy a set of |
| open Unit |
setNetworkPreference(preference: Int)Specifies the preferred network type. |
| open static Boolean |
setProcessDefaultNetwork(network: Network?)Binds the current process to |
| open Unit |
unregisterNetworkCallback(networkCallback: ConnectivityManager.NetworkCallback)Unregisters a |
| open Unit |
unregisterNetworkCallback(operation: PendingIntent)Unregisters a callback previously registered via |
Constants
ACTION_BACKGROUND_DATA_SETTING_CHANGED
static valACTION_BACKGROUND_DATA_SETTING_CHANGED: String
Deprecated: As of VERSION_CODES#ICE_CREAM_SANDWICH, availability of background data depends on several combined factors, and this broadcast is no longer sent. Instead, when background data is unavailable, getActiveNetworkInfo() will now appear disconnected. During first boot after a platform upgrade, this broadcast will be sent once if getBackgroundDataSetting() was false before the upgrade.
Broadcast Action: The setting for background data usage has changed values. Use getBackgroundDataSetting() to get the current value.
If an application uses the network in the background, it should listen for this broadcast and stop using the background data if the value is false.
Value: "android.net.conn.BACKGROUND_DATA_SETTING_CHANGED"
ACTION_CAPTIVE_PORTAL_SIGN_IN
static val ACTION_CAPTIVE_PORTAL_SIGN_IN: String
The device has connected to a network that has presented a captive portal, which is blocking Internet connectivity. The user was presented with a notification that network sign in is required, and the user invoked the notification's action indicating they desire to sign in to the network. Apps handling this activity should facilitate signing in to the network. This action includes a Network typed extra called EXTRA_NETWORK that represents the network presenting the captive portal; all communication with the captive portal must be done using this Network object.
CaptivePortal extra named EXTRA_CAPTIVE_PORTAL that can be used to indicate different outcomes of the captive portal sign in to the system:
- When the app handling this action believes the user has signed in to the network and the captive portal has been dismissed, the app should call
CaptivePortal#reportCaptivePortalDismissedso the system can reevaluate the network. If reevaluation finds the network no longer subject to a captive portal, the network may become the default active data network. - When the app handling this action believes the user explicitly wants to ignore the captive portal and the network, the app should call
CaptivePortal#ignoreNetwork.
Value: "android.net.conn.CAPTIVE_PORTAL"
ACTION_RESTRICT_BACKGROUND_CHANGED
static val ACTION_RESTRICT_BACKGROUND_CHANGED: String
A change in the background metered network activity restriction has occurred.
Applications should call getRestrictBackgroundStatus() to check if the restriction applies to them.
This is only sent to registered receivers, not manifest receivers.
Value: "android.net.conn.RESTRICT_BACKGROUND_CHANGED"
CONNECTIVITY_ACTION
static valCONNECTIVITY_ACTION: String
Deprecated: apps should use the more versatile requestNetwork, registerNetworkCallback or registerDefaultNetworkCallback functions instead for faster and more detailed updates about the network changes they care about.
A change in network connectivity has occurred. A default connection has either been established or lost. The NetworkInfo for the affected network is sent as an extra; it should be consulted to see what kind of connectivity event occurred.
Apps targeting Android 7.0 (API level 24) and higher do not receive this broadcast if they declare the broadcast receiver in their manifest. Apps will still receive broadcasts if they register theirandroid.content.BroadcastReceiver with Context.registerReceiver() and that context is still valid.
If this is a connection that was the result of failing over from a disconnected network, then the FAILOVER_CONNECTION boolean extra is set to true.
For a loss of connectivity, if the connectivity manager is attempting to connect (or has already connected) to another network, the NetworkInfo for the new network is also passed as an extra. This lets any receivers of the broadcast know that they should not necessarily tell the user that no data traffic will be possible. Instead, the receiver should expect another broadcast soon, indicating either that the failover attempt succeeded (and so there is still overall data connectivity), or that the failover attempt failed, meaning that all connectivity has been lost.
For a disconnect event, the boolean extra EXTRA_NO_CONNECTIVITY is set to true if there are no connected networks at all.
Value: "android.net.conn.CONNECTIVITY_CHANGE"
DEFAULT_NETWORK_PREFERENCE
static valDEFAULT_NETWORK_PREFERENCE: Int
Deprecated: Since we support so many more networks now, the single network default network preference can't really express the hierarchy. Instead, the default is defined by the networkAttributes in config.xml. You can determine the current value by calling getNetworkPreference() from an App.
If you want to set the default network preference,you can directly change the networkAttributes array in framework's config.xml.
Value: 1
EXTRA_CAPTIVE_PORTAL
static val EXTRA_CAPTIVE_PORTAL: String
The lookup key for a CaptivePortal object included with the ACTION_CAPTIVE_PORTAL_SIGN_IN intent. The CaptivePortal object can be used to either indicate to the system that the captive portal has been dismissed or that the user does not want to pursue signing in to captive portal. Retrieve it with android.content.Intent#getParcelableExtra(String).
Value: "android.net.extra.CAPTIVE_PORTAL"
EXTRA_CAPTIVE_PORTAL_URL
static val EXTRA_CAPTIVE_PORTAL_URL: String
Key for passing a URL to the captive portal login activity.
Value: "android.net.extra.CAPTIVE_PORTAL_URL"
EXTRA_EXTRA_INFO
static valEXTRA_EXTRA_INFO: String
Deprecated: See NetworkInfo#getExtraInfo().
The lookup key for a string that provides optionally supplied extra information about the network state. The information may be passed up from the lower networking layers, and its meaning may be specific to a particular network type. Retrieve it with android.content.Intent#getStringExtra(String).
Value: "extraInfo"
EXTRA_IS_FAILOVER
static valEXTRA_IS_FAILOVER: String
Deprecated: See NetworkInfo.
The lookup key for a boolean that indicates whether a connect event is for a network to which the connectivity manager was failing over following a disconnect on another network. Retrieve it with android.content.Intent#getBooleanExtra(String,boolean).
Value: "isFailover"
EXTRA_NETWORK
static val EXTRA_NETWORK: String
The lookup key for a Network object included with the intent after successfully finding a network for the applications request. Retrieve it with android.content.Intent#getParcelableExtra(String).
Note that if you intend to invoke Network#openConnection(java.net.URL) then you must get a ConnectivityManager instance before doing so.
Value: "android.net.extra.NETWORK"
EXTRA_NETWORK_INFO
static valEXTRA_NETWORK_INFO: String
Deprecated: The NetworkInfo object is deprecated, as many of its properties can't accurately represent modern network characteristics. Please obtain information about networks from the NetworkCapabilities or LinkProperties objects instead.
The lookup key for a NetworkInfo object. Retrieve with android.content.Intent#getParcelableExtra(String).
Value: "networkInfo"
EXTRA_NETWORK_REQUEST
static val EXTRA_NETWORK_REQUEST: String
The lookup key for a NetworkRequest object included with the intent after successfully finding a network for the applications request. Retrieve it with android.content.Intent#getParcelableExtra(String).
Value: "android.net.extra.NETWORK_REQUEST"
EXTRA_NETWORK_TYPE
static valEXTRA_NETWORK_TYPE: String
Deprecated: The network type is not rich enough to represent the characteristics of modern networks. Please use NetworkCapabilities instead, in particular the transports.
Network type which triggered a CONNECTIVITY_ACTION broadcast.
Value: "networkType"
EXTRA_NO_CONNECTIVITY
static val EXTRA_NO_CONNECTIVITY: String
The lookup key for a boolean that indicates whether there is a complete lack of connectivity, i.e., no network is available. Retrieve it with android.content.Intent#getBooleanExtra(String,boolean).
Value: "noConnectivity"
EXTRA_OTHER_NETWORK_INFO
static valEXTRA_OTHER_NETWORK_INFO: String
Deprecated: See NetworkInfo.
The lookup key for a NetworkInfo object. This is supplied when there is another network that it may be possible to connect to. Retrieve with android.content.Intent#getParcelableExtra(String).
Value: "otherNetwork"
EXTRA_REASON
static val EXTRA_REASON: String
The lookup key for a string that indicates why an attempt to connect to a network failed. The string has no particular structure. It is intended to be used in notifications presented to users. Retrieve it with android.content.Intent#getStringExtra(String).
Value: "reason"
MULTIPATH_PREFERENCE_HANDOVER
static val MULTIPATH_PREFERENCE_HANDOVER: Int
It is acceptable to briefly use multipath data to provide seamless connectivity for time-sensitive user-facing operations when the system default network is temporarily unresponsive. The amount of data should be limited (less than one megabyte for every call to this method), and the operation should be infrequent to ensure that data usage is limited. An example of such an operation might be a time-sensitive foreground activity, such as a voice command, that the user is performing while walking out of range of a Wi-Fi network.
Value: 1
MULTIPATH_PREFERENCE_PERFORMANCE
static val MULTIPATH_PREFERENCE_PERFORMANCE: Int
It is acceptable to use metered data to improve network latency and performance.
Value: 4
MULTIPATH_PREFERENCE_RELIABILITY
static val MULTIPATH_PREFERENCE_RELIABILITY: Int
It is acceptable to use small amounts of multipath data on an ongoing basis to provide a backup channel for traffic that is primarily going over another network. An example might be maintaining backup connections to peers or servers for the purpose of fast fallback if the default network is temporarily unresponsive or disconnects. The traffic on backup paths should be negligible compared to the traffic on the main path.
Value: 2
RESTRICT_BACKGROUND_STATUS_DISABLED
static val RESTRICT_BACKGROUND_STATUS_DISABLED: Int
Device is not restricting metered network activity while application is running on background.
Value: 1
RESTRICT_BACKGROUND_STATUS_ENABLED
static val RESTRICT_BACKGROUND_STATUS_ENABLED: Int
Device is restricting metered network activity while application is running on background.
In this state, application should not try to use the network while running on background, because it would be denied.
Value: 3
RESTRICT_BACKGROUND_STATUS_WHITELISTED
static val RESTRICT_BACKGROUND_STATUS_WHITELISTED: Int
Device is restricting metered network activity while application is running on background, but application is allowed to bypass it.
In this state, application should take action to mitigate metered network access. For example, a music streaming application should switch to a low-bandwidth bitrate.
Value: 2
TYPE_BLUETOOTH
static valTYPE_BLUETOOTH: Int
Deprecated: Applications should instead use NetworkCapabilities#hasTransport or requestNetwork(android.net.NetworkRequest,android.net.ConnectivityManager.NetworkCallback) to request an appropriate network. {@see NetworkCapabilities} for supported transports.
A Bluetooth data connection.
Value: 7
TYPE_DUMMY
static valTYPE_DUMMY: Int
Deprecated: This is not used any more.
Dummy data connection. This should not be used on shipping devices.
Value: 8
TYPE_ETHERNET
static valTYPE_ETHERNET: Int
Deprecated: Applications should instead use NetworkCapabilities#hasTransport or requestNetwork(android.net.NetworkRequest,android.net.ConnectivityManager.NetworkCallback) to request an appropriate network. {@see NetworkCapabilities} for supported transports.
An Ethernet data connection.
Value: 9
TYPE_MOBILE
static valTYPE_MOBILE: Int
Deprecated: Applications should instead use NetworkCapabilities#hasTransport or requestNetwork(android.net.NetworkRequest,android.net.ConnectivityManager.NetworkCallback) to request an appropriate network. {@see NetworkCapabilities} for supported transports.
A Mobile data connection. Devices may support more than one.
Value: 0
TYPE_MOBILE_DUN
static valTYPE_MOBILE_DUN: Int
Deprecated: Applications should instead use NetworkCapabilities#hasCapability or requestNetwork(android.net.NetworkRequest,android.net.ConnectivityManager.NetworkCallback) to request a network that provides the NetworkCapabilities#NET_CAPABILITY_DUN capability.
A DUN-specific Mobile data connection. This network type may use the same network interface as TYPE_MOBILE or it may use a different one. This is sometimes by the system when setting up an upstream connection for tethering so that the carrier is aware of DUN traffic.
Value: 4
TYPE_MOBILE_HIPRI
static valTYPE_MOBILE_HIPRI: Int
Deprecated: Applications should instead use NetworkCapabilities#hasTransport or requestNetwork(android.net.NetworkRequest,android.net.ConnectivityManager.NetworkCallback) to request an appropriate network. {@see NetworkCapabilities} for supported transports.
A High Priority Mobile data connection. This network type uses the same network interface as TYPE_MOBILE but the routing setup is different.
Value: 5
TYPE_MOBILE_MMS
static valTYPE_MOBILE_MMS: Int
Deprecated: Applications should instead use NetworkCapabilities#hasCapability or requestNetwork(android.net.NetworkRequest,android.net.ConnectivityManager.NetworkCallback) to request a network that provides the NetworkCapabilities#NET_CAPABILITY_MMS capability.
An MMS-specific Mobile data connection. This network type may use the same network interface as TYPE_MOBILE or it may use a different one. This is used by applications needing to talk to the carrier's Multimedia Messaging Service servers.
Value: 2
TYPE_MOBILE_SUPL
static valTYPE_MOBILE_SUPL: Int
Deprecated: Applications should instead use NetworkCapabilities#hasCapability or requestNetwork(android.net.NetworkRequest,android.net.ConnectivityManager.NetworkCallback) to request a network that provides the NetworkCapabilities#NET_CAPABILITY_SUPL capability.
A SUPL-specific Mobile data connection. This network type may use the same network interface as TYPE_MOBILE or it may use a different one. This is used by applications needing to talk to the carrier's Secure User Plane Location servers for help locating the device.
Value: 3
TYPE_VPN
static valTYPE_VPN: Int
Deprecated: Applications should use NetworkCapabilities#TRANSPORT_VPN instead.
A virtual network using one or more native bearers. It may or may not be providing security services.
Value: 17
TYPE_WIFI
static valTYPE_WIFI: Int
Deprecated: Applications should instead use NetworkCapabilities#hasTransport or requestNetwork(android.net.NetworkRequest,android.net.ConnectivityManager.NetworkCallback) to request an appropriate network. {@see NetworkCapabilities} for supported transports.
A WIFI data connection. Devices may support more than one.
Value: 1
TYPE_WIMAX
static valTYPE_WIMAX: Int
Deprecated: Applications should instead use NetworkCapabilities#hasTransport or requestNetwork(android.net.NetworkRequest,android.net.ConnectivityManager.NetworkCallback) to request an appropriate network. {@see NetworkCapabilities} for supported transports.
A WiMAX data connection.
Value: 6
Public methods
addDefaultNetworkActiveListener
open fun addDefaultNetworkActiveListener(l: ConnectivityManager.OnNetworkActiveListener!): Unit
Start listening to reports when the system's default data network is active, meaning it is a good time to perform network traffic. Use isDefaultNetworkActive() to determine the current state of the system's default network after registering the listener.
If the process default network has been set with ConnectivityManager#bindProcessToNetwork this function will not reflect the process's default, but the system default.
| Parameters | |
|---|---|
l |
ConnectivityManager.OnNetworkActiveListener!: The listener to be told when the network is active. |
bindProcessToNetwork
open fun bindProcessToNetwork(network: Network?): Boolean
Binds the current process to network. All Sockets created in the future (and not explicitly bound via a bound SocketFactory from Network#getSocketFactory()) will be bound to network. All host name resolutions will be limited to network as well. Note that if network ever disconnects, all Sockets created in this way will cease to work and all host name resolutions will fail. This is by design so an application doesn't accidentally use Sockets it thinks are still bound to a particular Network. To clear binding pass null for network. Using individually bound Sockets created by Network.getSocketFactory().createSocket() and performing network-specific host name resolutions via Network#getAllByName is preferred to calling bindProcessToNetwork.
| Parameters | |
|---|---|
network |
Network?: The Network to bind the current process to, or null to clear the current binding. This value may be null. |
| Return | |
|---|---|
Boolean: true on success, false if the Network is no longer valid. |
createSocketKeepalive
open fun createSocketKeepalive(network: Network, socket: IpSecManager.UdpEncapsulationSocket, source: InetAddress, destination: InetAddress, executor: Executor, callback: SocketKeepalive.Callback): SocketKeepalive
Request that keepalives be started on a IPsec NAT-T socket.
| Parameters | |
|---|---|
network |
Network: The Network the socket is on. This value must never be null. |
socket |
Network: The socket that needs to be kept alive. This value must never be null. |
source |
Network: The source address of the UdpEncapsulationSocket. This value must never be null. |
destination |
Network: The destination address of the UdpEncapsulationSocket. This value must never be null. |
executor |
Network: The executor on which callback will be invoked. The provided Executor must run callback sequentially, otherwise the order of callbacks cannot be guaranteed. This value must never be null. Callback and listener events are dispatched through this Executor, providing an easy way to control which thread is used. To dispatch events through the main thread of your application, you can use Context#getMainExecutor(). To dispatch events through a shared thread pool, you can use AsyncTask#THREAD_POOL_EXECUTOR. |
callback |
Network: A SocketKeepalive.Callback. Used for notifications about keepalive changes. Must be extended by applications that use this API. This value must never be null. |
| Return | |
|---|---|
SocketKeepalive: A SocketKeepalive object that can be used to control the keepalive on the given socket. This value will never be null. |
getActiveNetwork
open fun getActiveNetwork(): Network?
Returns a Network object corresponding to the currently active default data network. In the event that the current active default data network disconnects, the returned Network object will no longer be usable. This will return null when there is no default network.
Requires android.Manifest.permission#ACCESS_NETWORK_STATE
| Return | |
|---|---|
Network?: a Network object for the current default network or null if no default network is currently active |
getActiveNetworkInfo
open fungetActiveNetworkInfo(): NetworkInfo?
Deprecated: See NetworkInfo.
Returns details about the currently active default data network. When connected, this network is the default route for outgoing connections. You should always check NetworkInfo#isConnected() before initiating network traffic. This may return null when there is no default network. Note that if the default network is a VPN, this method will return the NetworkInfo for one of its underlying networks instead, or null if the VPN agent did not specify any. Apps interested in learning about VPNs should use getNetworkInfo(android.net.Network) instead.
Requires android.Manifest.permission#ACCESS_NETWORK_STATE
| Return | |
|---|---|
NetworkInfo?: a NetworkInfo object for the current default network or null if no default network is currently active |
getAllNetworkInfo
open fungetAllNetworkInfo(): Array<NetworkInfo!>
Deprecated: This method does not support multiple connected networks of the same type. Use getAllNetworks and getNetworkInfo(android.net.Network) instead.
Returns connection status information about all network types supported by the device.
Requires android.Manifest.permission#ACCESS_NETWORK_STATE
| Return | |
|---|---|
Array<NetworkInfo!>: an array of NetworkInfo objects. Check each NetworkInfo#getType for which type each applies. This value will never be null. |
getAllNetworks
open fun getAllNetworks(): Array<Network!>
Returns an array of all Network currently tracked by the framework.
Requires android.Manifest.permission#ACCESS_NETWORK_STATE
| Return | |
|---|---|
Array<Network!>: an array of Network objects. This value will never be null. |
getBackgroundDataSetting
open fungetBackgroundDataSetting(): Boolean
Deprecated: As of VERSION_CODES#ICE_CREAM_SANDWICH, availability of background data depends on several combined factors, and this method will always return true. Instead, when background data is unavailable, getActiveNetworkInfo() will now appear disconnected.
Returns the value of the setting for background data usage. If false, applications should not use the network if the application is not in the foreground. Developers should respect this setting, and check the value of this before performing any background data operations.
All applications that have background services that use the network should listen to ACTION_BACKGROUND_DATA_SETTING_CHANGED.
| Return | |
|---|---|
| Boolean: Whether background data usage is allowed. |
getBoundNetworkForProcess
open fun getBoundNetworkForProcess(): Network?
Returns the Network currently bound to this process via bindProcessToNetwork, or null if no Network is explicitly bound.
| Return | |
|---|---|
Network?: Network to which this process is bound, or null. |
getConnectionOwnerUid
open fun getConnectionOwnerUid(protocol: Int, local: InetSocketAddress, remote: InetSocketAddress): Int
Returns the uid of the owner of a network connection.
| Parameters | |
|---|---|
protocol |
Int: The protocol of the connection. Only IPPROTO_TCP and IPPROTO_UDP currently supported. |
local |
Int: The local InetSocketAddress of a connection. This value must never be null. |
remote |
Int: The remote InetSocketAddress of a connection. This value must never be null. |
| Return | |
|---|---|
Int: uid if the connection is found and the app has permission to observe it (e.g., if it is associated with the calling VPN app's tunnel) or android.os.Process#INVALID_UID if the connection is not found. Throws SecurityException if the caller is not the active VPN for the current user. Throws IllegalArgumentException if an unsupported protocol is requested. |
getDefaultProxy
open fun getDefaultProxy(): ProxyInfo?
Get the current default HTTP proxy settings. If a global proxy is set it will be returned, otherwise if this process is bound to a Network using bindProcessToNetwork then that Network's proxy is returned, otherwise the default network's proxy is returned.
| Return | |
|---|---|
ProxyInfo?: the ProxyInfo for the current HTTP proxy, or null if no HTTP proxy is active. |
getLinkProperties
open fun getLinkProperties(network: Network?): LinkProperties?
Get the LinkProperties for the given Network. This will return null if the network is unknown.
Requires android.Manifest.permission#ACCESS_NETWORK_STATE
| Parameters | |
|---|---|
network |
Network?: The Network object identifying the network in question. This value may be null. |
| Return | |
|---|---|
LinkProperties?: The LinkProperties for the network, or null. |
getMultipathPreference
open fun getMultipathPreference(network: Network?): Int
Provides a hint to the calling application on whether it is desirable to use the multinetwork APIs (e.g., Network#openConnection, Network#bindSocket, etc.) for multipath data transfer on this network when it is not the system default network. Applications desiring to use multipath network protocols should call this method before each such operation.
Requires android.Manifest.permission#ACCESS_NETWORK_STATE
| Parameters | |
|---|---|
network |
Network?: The network on which the application desires to use multipath data. If null, this method will return the a preference that will generally apply to metered networks. This value may be null. |
| Return | |
|---|---|
Int: a bitwise OR of zero or more of the MULTIPATH_PREFERENCE_* constants. Value is either 0 or a combination of android.net.ConnectivityManager#MULTIPATH_PREFERENCE_HANDOVER, android.net.ConnectivityManager#MULTIPATH_PREFERENCE_RELIABILITY, and android.net.ConnectivityManager#MULTIPATH_PREFERENCE_PERFORMANCE |
getNetworkCapabilities
open fun getNetworkCapabilities(network: Network?): NetworkCapabilities?
Get the android.net.NetworkCapabilities for the given Network. This will return null if the network is unknown.
Requires android.Manifest.permission#ACCESS_NETWORK_STATE
| Parameters | |
|---|---|
network |
Network?: The Network object identifying the network in question. This value may be null. |
| Return | |
|---|---|
NetworkCapabilities?: The android.net.NetworkCapabilities for the network, or null. |
getNetworkInfo
open fungetNetworkInfo(networkType: Int): NetworkInfo?
Deprecated: This method does not support multiple connected networks of the same type. Use getAllNetworks and getNetworkInfo(android.net.Network) instead.
Returns connection status information about a particular network type.
Requires android.Manifest.permission#ACCESS_NETWORK_STATE
| Parameters | |
|---|---|
networkType |
Int: integer specifying which networkType in which you're interested. |
| Return | |
|---|---|
NetworkInfo?: a NetworkInfo object for the requested network type or null if the type is not supported by the device. If networkType is TYPE_VPN and a VPN is active for the calling app, then this method will try to return one of the underlying networks for the VPN or null if the VPN agent didn't specify any. |
getNetworkInfo
open fungetNetworkInfo(network: Network?): NetworkInfo?
Deprecated: See NetworkInfo.
Returns connection status information about a particular Network.
Requires android.Manifest.permission#ACCESS_NETWORK_STATE
| Parameters | |
|---|---|
network |
Network?: Network specifying which network in which you're interested. This value may be null. |
| Return | |
|---|---|
NetworkInfo?: a NetworkInfo object for the requested network or null if the Network is not valid. |
getNetworkPreference
open fungetNetworkPreference(): Int
Deprecated: Functionality has been removed as it no longer makes sense, with many more than two networks - we'd need an array to express preference. Instead we use dynamic network properties of the networks to describe their precedence.
Retrieves the current preferred network type.
Requires android.Manifest.permission#ACCESS_NETWORK_STATE
| Return | |
|---|---|
| Int: an integer representing the preferred network type |
getNetworkWatchlistConfigHash
open fun getNetworkWatchlistConfigHash(): ByteArray?
The network watchlist is a list of domains and IP addresses that are associated with potentially harmful apps. This method returns the SHA-256 of the watchlist config file currently used by the system for validation purposes.
| Return | |
|---|---|
ByteArray?: Hash of network watchlist config file. Null if config does not exist. This value may be null. |
getProcessDefaultNetwork
open static fungetProcessDefaultNetwork(): Network?
Deprecated: Using this function can lead to other functions throwing IllegalStateException. Use getBoundNetworkForProcess instead. getBoundNetworkForProcess is a direct replacement.
Returns the Network currently bound to this process via bindProcessToNetwork, or null if no Network is explicitly bound.
| Return | |
|---|---|
Network?: Network to which this process is bound, or null. |
getRestrictBackgroundStatus
open fun getRestrictBackgroundStatus(): Int
Determines if the calling application is subject to metered network restrictions while running on background.
isActiveNetworkMetered
open fun isActiveNetworkMetered(): Boolean
Returns if the currently active data network is metered. A network is classified as metered when the user is sensitive to heavy data usage on that connection due to monetary costs, data limitations or battery/performance issues. You should check this before doing large data transfers, and warn the user or delay the operation until another network is available.
Requires android.Manifest.permission#ACCESS_NETWORK_STATE
| Return | |
|---|---|
Boolean: true if large transfers should be avoided, otherwise false. |
isDefaultNetworkActive
open fun isDefaultNetworkActive(): Boolean
Return whether the data network is currently active. An active network means that it is currently in a high power state for performing data transmission. On some types of networks, it may be expensive to move and stay in such a state, so it is more power efficient to batch network traffic together when the radio is already in this state. This method tells you whether right now is currently a good time to initiate network traffic, as the network is already active.
isNetworkTypeValid
open static funisNetworkTypeValid(networkType: Int): Boolean
Deprecated: All APIs accepting a network type are deprecated. There should be no need to validate a network type.
Tests if a given integer represents a valid network type.
| Parameters | |
|---|---|
networkType |
Int: the type to be tested |
| Return | |
|---|---|
Boolean: a boolean. true if the type is valid, else false |
registerDefaultNetworkCallback
open fun registerDefaultNetworkCallback(networkCallback: ConnectivityManager.NetworkCallback): Unit
Registers to receive notifications about changes in the system default network. The callbacks will continue to be called until either the application exits or unregisterNetworkCallback(android.net.ConnectivityManager.NetworkCallback) is called.
Requires android.Manifest.permission#ACCESS_NETWORK_STATE
| Parameters | |
|---|---|
networkCallback |
ConnectivityManager.NetworkCallback: The NetworkCallback that the system will call as the system default network changes. The callback is invoked on the default internal Handler. This value must never be null. |
registerDefaultNetworkCallback
open fun registerDefaultNetworkCallback(networkCallback: ConnectivityManager.NetworkCallback, handler: Handler): Unit
Registers to receive notifications about changes in the system default network. The callbacks will continue to be called until either the application exits or unregisterNetworkCallback(android.net.ConnectivityManager.NetworkCallback) is called.
Requires android.Manifest.permission#ACCESS_NETWORK_STATE
| Parameters | |
|---|---|
networkCallback |
ConnectivityManager.NetworkCallback: The NetworkCallback that the system will call as the system default network changes. This value must never be null. |
handler |
ConnectivityManager.NetworkCallback: Handler to specify the thread upon which the callback will be invoked. This value must never be null. |
registerNetworkCallback
open fun registerNetworkCallback(request: NetworkRequest, networkCallback: ConnectivityManager.NetworkCallback): Unit
Registers to receive notifications about all networks which satisfy the given NetworkRequest. The callbacks will continue to be called until either the application exits or unregisterNetworkCallback(android.net.ConnectivityManager.NetworkCallback) is called.
Requires android.Manifest.permission#ACCESS_NETWORK_STATE
| Parameters | |
|---|---|
request |
NetworkRequest: NetworkRequest describing this request. This value must never be null. |
networkCallback |
NetworkRequest: The NetworkCallback that the system will call as suitable networks change state. The callback is invoked on the default internal Handler. This value must never be null. |
registerNetworkCallback
open fun registerNetworkCallback(request: NetworkRequest, networkCallback: ConnectivityManager.NetworkCallback, handler: Handler): Unit
Registers to receive notifications about all networks which satisfy the given NetworkRequest. The callbacks will continue to be called until either the application exits or unregisterNetworkCallback(android.net.ConnectivityManager.NetworkCallback) is called.
Requires android.Manifest.permission#ACCESS_NETWORK_STATE
| Parameters | |
|---|---|
request |
NetworkRequest: NetworkRequest describing this request. This value must never be null. |
networkCallback |
NetworkRequest: The NetworkCallback that the system will call as suitable networks change state. This value must never be null. |
handler |
NetworkRequest: Handler to specify the thread upon which the callback will be invoked. This value must never be null. |
registerNetworkCallback
open fun registerNetworkCallback(request: NetworkRequest, operation: PendingIntent): Unit
Registers a PendingIntent to be sent when a network is available which satisfies the given NetworkRequest. This function behaves identically to the version that takes a NetworkCallback, but instead of NetworkCallback a PendingIntent is used. This means the request may outlive the calling application and get called back when a suitable network is found.
The operation is an Intent broadcast that goes to a broadcast receiver that you registered with Context#registerReceiver or through the <receiver> tag in an AndroidManifest.xml file
The operation Intent is delivered with two extras, a Network typed extra called EXTRA_NETWORK and a NetworkRequest typed extra called EXTRA_NETWORK_REQUEST containing the original requests parameters.
If there is already a request for this Intent registered (with the equality of two Intents defined by Intent#filterEquals), then it will be removed and replaced by this one, effectively releasing the previous NetworkRequest.
The request may be released normally by calling unregisterNetworkCallback(android.app.PendingIntent).
Requires android.Manifest.permission#ACCESS_NETWORK_STATE
| Parameters | |
|---|---|
request |
NetworkRequest: NetworkRequest describing this request. This value must never be null. |
operation |
NetworkRequest: Action to perform when the network is available (corresponds to the NetworkCallback#onAvailable call. Typically comes from PendingIntent#getBroadcast. Cannot be null. This value must never be null. |
releaseNetworkRequest
open fun releaseNetworkRequest(operation: PendingIntent): Unit
Removes a request made via requestNetwork(android.net.NetworkRequest,android.app.PendingIntent)
This method has the same behavior as unregisterNetworkCallback(android.app.PendingIntent) with respect to releasing network resources and disconnecting.
| Parameters | |
|---|---|
operation |
PendingIntent: A PendingIntent equal (as defined by Intent#filterEquals) to the PendingIntent passed to requestNetwork(android.net.NetworkRequest,android.app.PendingIntent) with the corresponding NetworkRequest you'd like to remove. Cannot be null. This value must never be null. |
removeDefaultNetworkActiveListener
open fun removeDefaultNetworkActiveListener(l: ConnectivityManager.OnNetworkActiveListener): Unit
Remove network active listener previously registered with addDefaultNetworkActiveListener.
| Parameters | |
|---|---|
l |
ConnectivityManager.OnNetworkActiveListener: Previously registered listener. This value must never be null. |
reportBadNetwork
open funreportBadNetwork(network: Network?): Unit
Deprecated: Use reportNetworkConnectivity which allows reporting both working and non-working connectivity.
Report a problem network to the framework. This provides a hint to the system that there might be connectivity problems on this network and may cause the framework to re-evaluate network connectivity and/or switch to another network.
| Parameters | |
|---|---|
network |
Network?: The Network the application was attempting to use or null to indicate the current default network. This value may be null. |
reportNetworkConnectivity
open fun reportNetworkConnectivity(network: Network?, hasConnectivity: Boolean): Unit
Report to the framework whether a network has working connectivity. This provides a hint to the system that a particular network is providing working connectivity or not. In response the framework may re-evaluate the network's connectivity and might take further action thereafter.
| Parameters | |
|---|---|
network |
Network?: The Network the application was attempting to use or null to indicate the current default network. This value may be null. |
hasConnectivity |
Network?: true if the application was able to successfully access the Internet using network or false if not. |
requestBandwidthUpdate
open fun requestBandwidthUpdate(network: Network): Boolean
Requests bandwidth update for a given Network and returns whether the update request is accepted by ConnectivityService. Once accepted, ConnectivityService will poll underlying network connection for updated bandwidth information. The caller will be notified via ConnectivityManager.NetworkCallback if there is an update. Notice that this method assumes that the caller has previously called registerNetworkCallback(android.net.NetworkRequest,android.net.ConnectivityManager.NetworkCallback) to listen for network changes.
| Parameters | |
|---|---|
network |
Network: Network specifying which network you're interested. This value must never be null. |
| Return | |
|---|---|
Boolean: true on success, false if the Network is no longer valid. |
requestNetwork
open fun requestNetwork(request: NetworkRequest, networkCallback: ConnectivityManager.NetworkCallback): Unit
Request a network to satisfy a set of android.net.NetworkCapabilities. This NetworkRequest will live until released via unregisterNetworkCallback(android.net.ConnectivityManager.NetworkCallback) or the calling application exits. A version of the method which takes a timeout is requestNetwork(android.net.NetworkRequest,android.net.ConnectivityManager.NetworkCallback,int). Status of the request can be followed by listening to the various callbacks described in NetworkCallback. The Network can be used to direct traffic to the network.
It is presently unsupported to request a network with mutable NetworkCapabilities such as NetworkCapabilities#NET_CAPABILITY_VALIDATED or NetworkCapabilities#NET_CAPABILITY_CAPTIVE_PORTAL as these NetworkCapabilities represent states that a particular network may never attain, and whether a network will attain these states is unknown prior to bringing up the network so the framework does not know how to go about satisfing a request with these capabilities.
This method requires the caller to hold either the android.Manifest.permission#CHANGE_NETWORK_STATE permission or the ability to modify system settings as determined by android.provider.Settings.System#canWrite.
| Parameters | |
|---|---|
request |
NetworkRequest: NetworkRequest describing this request. This value must never be null. |
networkCallback |
NetworkRequest: The NetworkCallback to be utilized for this request. Note the callback must not be shared - it uniquely specifies this request. The callback is invoked on the default internal Handler. This value must never be null. |
| Exceptions | |
|---|---|
java.lang.IllegalArgumentException |
if request contains invalid network capabilities. |
java.lang.SecurityException |
if missing the appropriate permissions. |
java.lang.RuntimeException |
if request limit per UID is exceeded. |
requestNetwork
open fun requestNetwork(request: NetworkRequest, networkCallback: ConnectivityManager.NetworkCallback, handler: Handler): Unit
Request a network to satisfy a set of android.net.NetworkCapabilities. This NetworkRequest will live until released via unregisterNetworkCallback(android.net.ConnectivityManager.NetworkCallback) or the calling application exits. A version of the method which takes a timeout is requestNetwork(android.net.NetworkRequest,android.net.ConnectivityManager.NetworkCallback,int). Status of the request can be followed by listening to the various callbacks described in NetworkCallback. The Network can be used to direct traffic to the network.
It is presently unsupported to request a network with mutable NetworkCapabilities such as NetworkCapabilities#NET_CAPABILITY_VALIDATED or NetworkCapabilities#NET_CAPABILITY_CAPTIVE_PORTAL as these NetworkCapabilities represent states that a particular network may never attain, and whether a network will attain these states is unknown prior to bringing up the network so the framework does not know how to go about satisfying a request with these capabilities.
This method requires the caller to hold either the android.Manifest.permission#CHANGE_NETWORK_STATE permission or the ability to modify system settings as determined by android.provider.Settings.System#canWrite.
| Parameters | |
|---|---|
request |
NetworkRequest: NetworkRequest describing this request. This value must never be null. |
networkCallback |
NetworkRequest: The NetworkCallback to be utilized for this request. Note the callback must not be shared - it uniquely specifies this request. This value must never be null. |
handler |
NetworkRequest: Handler to specify the thread upon which the callback will be invoked. This value must never be null. |
| Exceptions | |
|---|---|
java.lang.IllegalArgumentException |
if request contains invalid network capabilities. |
java.lang.SecurityException |
if missing the appropriate permissions. |
java.lang.RuntimeException |
if request limit per UID is exceeded. |
requestNetwork
open fun requestNetwork(request: NetworkRequest, networkCallback: ConnectivityManager.NetworkCallback, timeoutMs: Int): Unit
Request a network to satisfy a set of android.net.NetworkCapabilities, limited by a timeout. This function behaves identically to the non-timed-out version requestNetwork(android.net.NetworkRequest,android.net.ConnectivityManager.NetworkCallback), but if a suitable network is not found within the given time (in milliseconds) the NetworkCallback#onUnavailable() callback is called. The request can still be released normally by calling unregisterNetworkCallback(android.net.ConnectivityManager.NetworkCallback) but does not have to be released if timed-out (it is automatically released). Unregistering a request that timed out is not an error.
Do not use this method to poll for the existence of specific networks (e.g. with a small timeout) - registerNetworkCallback(android.net.NetworkRequest,android.net.ConnectivityManager.NetworkCallback) is provided for that purpose. Calling this method will attempt to bring up the requested network.
This method requires the caller to hold either the android.Manifest.permission#CHANGE_NETWORK_STATE permission or the ability to modify system settings as determined by android.provider.Settings.System#canWrite.
| Parameters | |
|---|---|
request |
NetworkRequest: NetworkRequest describing this request. This value must never be null. |
networkCallback |
NetworkRequest: The NetworkCallback to be utilized for this request. Note the callback must not be shared - it uniquely specifies this request. This value must never be null. |
timeoutMs |
NetworkRequest: The time in milliseconds to attempt looking for a suitable network before NetworkCallback#onUnavailable() is called. The timeout must be a positive value (i.e. >0). |
| Exceptions | |
|---|---|
java.lang.IllegalArgumentException |
if request contains invalid network capabilities. |
java.lang.SecurityException |
if missing the appropriate permissions. |
java.lang.RuntimeException |
if request limit per UID is exceeded. |
requestNetwork
open fun requestNetwork(request: NetworkRequest, networkCallback: ConnectivityManager.NetworkCallback, handler: Handler, timeoutMs: Int): Unit
Request a network to satisfy a set of android.net.NetworkCapabilities, limited by a timeout. This function behaves identically to the version without timeout, but if a suitable network is not found within the given time (in milliseconds) the NetworkCallback#onUnavailable callback is called. The request can still be released normally by calling unregisterNetworkCallback(android.net.ConnectivityManager.NetworkCallback) but does not have to be released if timed-out (it is automatically released). Unregistering a request that timed out is not an error.
Do not use this method to poll for the existence of specific networks (e.g. with a small timeout) - registerNetworkCallback(android.net.NetworkRequest,android.net.ConnectivityManager.NetworkCallback) is provided for that purpose. Calling this method will attempt to bring up the requested network.
This method requires the caller to hold either the android.Manifest.permission#CHANGE_NETWORK_STATE permission or the ability to modify system settings as determined by android.provider.Settings.System#canWrite.
| Parameters | |
|---|---|
request |
NetworkRequest: NetworkRequest describing this request. This value must never be null. |
networkCallback |
NetworkRequest: The NetworkCallback to be utilized for this request. Note the callback must not be shared - it uniquely specifies this request. This value must never be null. |
handler |
NetworkRequest: Handler to specify the thread upon which the callback will be invoked. This value must never be null. |
timeoutMs |
NetworkRequest: The time in milliseconds to attempt looking for a suitable network before NetworkCallback#onUnavailable is called. |
| Exceptions | |
|---|---|
java.lang.IllegalArgumentException |
if request contains invalid network capabilities. |
java.lang.SecurityException |
if missing the appropriate permissions. |
java.lang.RuntimeException |
if request limit per UID is exceeded. |
requestNetwork
open fun requestNetwork(request: NetworkRequest, operation: PendingIntent): Unit
Request a network to satisfy a set of android.net.NetworkCapabilities. This function behaves identically to the version that takes a NetworkCallback, but instead of NetworkCallback a PendingIntent is used. This means the request may outlive the calling application and get called back when a suitable network is found.
The operation is an Intent broadcast that goes to a broadcast receiver that you registered with Context#registerReceiver or through the <receiver> tag in an AndroidManifest.xml file
The operation Intent is delivered with two extras, a Network typed extra called EXTRA_NETWORK and a NetworkRequest typed extra called EXTRA_NETWORK_REQUEST containing the original requests parameters. It is important to create a new, NetworkCallback based request before completing the processing of the Intent to reserve the network or it will be released shortly after the Intent is processed.
If there is already a request for this Intent registered (with the equality of two Intents defined by Intent#filterEquals), then it will be removed and replaced by this one, effectively releasing the previous NetworkRequest.
The request may be released normally by calling releaseNetworkRequest(android.app.PendingIntent).
It is presently unsupported to request a network with either NetworkCapabilities#NET_CAPABILITY_VALIDATED or NetworkCapabilities#NET_CAPABILITY_CAPTIVE_PORTAL as these NetworkCapabilities represent states that a particular network may never attain, and whether a network will attain these states is unknown prior to bringing up the network so the framework does not know how to go about satisfying a request with these capabilities.
This method requires the caller to hold either the android.Manifest.permission#CHANGE_NETWORK_STATE permission or the ability to modify system settings as determined by android.provider.Settings.System#canWrite.
| Parameters | |
|---|---|
request |
NetworkRequest: NetworkRequest describing this request. This value must never be null. |
operation |
NetworkRequest: Action to perform when the network is available (corresponds to the NetworkCallback#onAvailable call. Typically comes from PendingIntent#getBroadcast. Cannot be null. This value must never be null. |
| Exceptions | |
|---|---|
java.lang.IllegalArgumentException |
if request contains invalid network capabilities. |
java.lang.SecurityException |
if missing the appropriate permissions. |
java.lang.RuntimeException |
if request limit per UID is exceeded. |
setNetworkPreference
open funsetNetworkPreference(preference: Int): Unit
Deprecated: Functionality has been removed as it no longer makes sense, with many more than two networks - we'd need an array to express preference. Instead we use dynamic network properties of the networks to describe their precedence.
Specifies the preferred network type. When the device has more than one type available the preferred network type will be used.
| Parameters | |
|---|---|
preference |
Int: the network type to prefer over all others. It is unspecified what happens to the old preferred network in the overall ordering. |
setProcessDefaultNetwork
open static funsetProcessDefaultNetwork(network: Network?): Boolean
Deprecated: This function can throw IllegalStateException. Use bindProcessToNetwork instead. bindProcessToNetwork is a direct replacement.
Binds the current process to network. All Sockets created in the future (and not explicitly bound via a bound SocketFactory from Network#getSocketFactory()) will be bound to network. All host name resolutions will be limited to network as well. Note that if network ever disconnects, all Sockets created in this way will cease to work and all host name resolutions will fail. This is by design so an application doesn't accidentally use Sockets it thinks are still bound to a particular Network. To clear binding pass null for network. Using individually bound Sockets created by Network.getSocketFactory().createSocket() and performing network-specific host name resolutions via Network#getAllByName is preferred to calling setProcessDefaultNetwork.
| Parameters | |
|---|---|
network |
Network?: The Network to bind the current process to, or null to clear the current binding. This value may be null. |
| Return | |
|---|---|
Boolean: true on success, false if the Network is no longer valid. |
unregisterNetworkCallback
open fun unregisterNetworkCallback(networkCallback: ConnectivityManager.NetworkCallback): Unit
Unregisters a NetworkCallback and possibly releases networks originating from requestNetwork(android.net.NetworkRequest,android.net.ConnectivityManager.NetworkCallback) and registerNetworkCallback(android.net.NetworkRequest,android.net.ConnectivityManager.NetworkCallback) calls. If the given NetworkCallback had previously been used with requestNetwork, any networks that had been connected to only to satisfy that request will be disconnected. Notifications that would have triggered that NetworkCallback will immediately stop triggering it as soon as this call returns.
| Parameters | |
|---|---|
networkCallback |
ConnectivityManager.NetworkCallback: The NetworkCallback used when making the request. This value must never be null. |
unregisterNetworkCallback
open fun unregisterNetworkCallback(operation: PendingIntent): Unit
Unregisters a callback previously registered via registerNetworkCallback(android.net.NetworkRequest,android.app.PendingIntent).
| Parameters | |
|---|---|
operation |
PendingIntent: A PendingIntent equal (as defined by Intent#filterEquals) to the PendingIntent passed to registerNetworkCallback(android.net.NetworkRequest,android.app.PendingIntent). Cannot be null. This value must never be null. |