java.lang.Object | |
↳ | android.net.ConnectivityManager |
Class that answers queries about the state of network connectivity. It also
notifies applications when network connectivity changes. Get an instance
of this class by calling
Context.getSystemService(Context.CONNECTIVITY_SERVICE)
.
The primary responsibilities of this class are to:
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
String | ACTION_BACKGROUND_DATA_SETTING_CHANGED |
This constant was deprecated
in API level 16.
As of
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.
|
|||||||||
String | CONNECTIVITY_ACTION | A change in network connectivity has occurred. | |||||||||
int | DEFAULT_NETWORK_PREFERENCE |
This constant was deprecated
in API level 18.
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.
|
|||||||||
String | EXTRA_EXTRA_INFO | The lookup key for a string that provides optionally supplied extra information about the network state. | |||||||||
String | EXTRA_IS_FAILOVER | 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. | |||||||||
String | EXTRA_NETWORK_INFO |
This constant was deprecated
in API level 14.
Since
NetworkInfo
can vary based on UID, applications
should always obtain network information through
getActiveNetworkInfo()
or
getAllNetworkInfo()
.
|
|||||||||
String | EXTRA_NETWORK_TYPE |
Network type which triggered a
CONNECTIVITY_ACTION
broadcast.
|
|||||||||
String | EXTRA_NO_CONNECTIVITY | The lookup key for a boolean that indicates whether there is a complete lack of connectivity, i.e., no network is available. | |||||||||
String | EXTRA_OTHER_NETWORK_INFO |
The lookup key for a
NetworkInfo
object.
|
|||||||||
String | EXTRA_REASON | The lookup key for a string that indicates why an attempt to connect to a network failed. | |||||||||
int | TYPE_BLUETOOTH | The Bluetooth data connection. | |||||||||
int | TYPE_DUMMY | Dummy data connection. | |||||||||
int | TYPE_ETHERNET | The Ethernet data connection. | |||||||||
int | TYPE_MOBILE | The Mobile data connection. | |||||||||
int | TYPE_MOBILE_DUN | A DUN-specific Mobile data connection. | |||||||||
int | TYPE_MOBILE_HIPRI | A High Priority Mobile data connection. | |||||||||
int | TYPE_MOBILE_MMS | An MMS-specific Mobile data connection. | |||||||||
int | TYPE_MOBILE_SUPL | A SUPL-specific Mobile data connection. | |||||||||
int | TYPE_WIFI | The WIFI data connection. | |||||||||
int | TYPE_WIMAX | The WiMAX data connection. |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Returns details about the currently active default data network.
|
||||||||||
|
Returns connection status information about all network
types supported by the device.
|
||||||||||
|
This method was deprecated
in API level 14.
As of
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 connection status information about a particular
network type.
|
||||||||||
|
Retrieves the current preferred network type.
|
||||||||||
|
Returns if the currently active data network is metered.
|
||||||||||
|
Tests if a given integer represents a valid network type.
|
||||||||||
|
Ensure that a network route exists to deliver traffic to the specified
host via the specified network interface.
|
||||||||||
|
Specifies the preferred network type.
|
||||||||||
|
Tells the underlying networking system that the caller wants to
begin using the named feature.
|
||||||||||
|
Tells the underlying networking system that the caller is finished
using the named feature.
|
[Expand]
Inherited Methods
|
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
This constant was deprecated
in API level 16.
As of
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
.
A change in network connectivity has occurred. A 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.
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.
This constant was deprecated
in API level 18.
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.
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
getStringExtra(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.
Retrieve it with
getBooleanExtra(String, boolean)
.
This constant was deprecated
in API level 14.
Since
NetworkInfo
can vary based on UID, applications
should always obtain network information through
getActiveNetworkInfo()
or
getAllNetworkInfo()
.
The lookup key for a
NetworkInfo
object. Retrieve with
getParcelableExtra(String)
.
Network type which triggered a
CONNECTIVITY_ACTION
broadcast.
Can be used with
getNetworkInfo(int)
to get
NetworkInfo
state based on the calling application.
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
getBooleanExtra(String, boolean)
.
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
getParcelableExtra(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
getStringExtra(String)
.
The Bluetooth data connection. When active, all data traffic will use this network type's interface by default (it has a default route).
Dummy data connection. This should not be used on shipping devices.
The Ethernet data connection. When active, all data traffic will use this network type's interface by default (it has a default route).
The Mobile data connection. When active, all data traffic will use this network type's interface by default (it has a default route)
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.
A High Priority Mobile data connection. This network type uses the
same network interface as
TYPE_MOBILE
but the routing setup
is different. Only requesting processes will have access to the
Mobile DNS servers and only IP's explicitly requested via
requestRouteToHost(int, int)
will route over this interface if no default route exists.
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.
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.
The WIFI data connection. When active, all data traffic will use this network type's interface by default (it has a default route).
The WiMAX data connection. When active, all data traffic will use this network type's interface by default (it has a default route).
Returns details about the currently active default data network. When
connected, this network is the default route for outgoing connections.
You should always check
isConnected()
before initiating
network traffic. This may return
null
when there is no default
network.
NetworkInfo
object for the current default network
or
null
if no network default network is currently active
This method requires the call to hold the permission
ACCESS_NETWORK_STATE
.
Returns connection status information about all network types supported by the device.
NetworkInfo
objects. Check each
getType()
for which type each applies.
This method requires the call to hold the permission
ACCESS_NETWORK_STATE
.
This method was deprecated
in API level 14.
As of
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
.
Returns connection status information about a particular network type.
networkType | integer specifying which networkType in which you're interested. |
---|
NetworkInfo
object for the requested
network type or
null
if the type is not
supported by the device.
This method requires the call to hold the permission
ACCESS_NETWORK_STATE
.
Retrieves the current preferred network type. Note that this made sense when we only had 2 network types, but with more and more default networks we need an array to list their ordering. This will be deprecated soon.
This method requires the caller to hold the permission
ACCESS_NETWORK_STATE
.
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.
true
if large transfers should be avoided, otherwise
false
.
This method requires the call to hold the permission
ACCESS_NETWORK_STATE
.
Tests if a given integer represents a valid network type.
networkType | the type to be tested |
---|
true
if the type is valid, else
false
Ensure that a network route exists to deliver traffic to the specified host via the specified network interface. An attempt to add a route that already exists is ignored, but treated as successful.
This method requires the caller to hold the permission
CHANGE_NETWORK_STATE
.
networkType | the type of the network over which traffic to the specified host is to be routed |
---|---|
hostAddress | the IP address of the host to which the route is desired |
true
on success,
false
on failure
Specifies the preferred network type. When the device has more than one type available the preferred network type will be used. Note that this made sense when we only had 2 network types, but with more and more default networks we need an array to list their ordering. This will be deprecated soon.
preference | the network type to prefer over all others. It is unspecified what happens to the old preferred network in the overall ordering. |
---|
Tells the underlying networking system that the caller wants to
begin using the named feature. The interpretation of
feature
is completely up to each networking implementation.
This method requires the caller to hold the permission
CHANGE_NETWORK_STATE
.
networkType | specifies which network the request pertains to |
---|---|
feature | the name of the feature to be used |
-1
always indicates failure.
Tells the underlying networking system that the caller is finished
using the named feature. The interpretation of
feature
is completely up to each networking implementation.
This method requires the caller to hold the permission
CHANGE_NETWORK_STATE
.
networkType | specifies which network the request pertains to |
---|---|
feature | the name of the feature that is no longer needed |
-1
always indicates failure.