Android
android.net.wifi
public class

android.net.wifi.WifiManager

java.lang.Object
android.net.wifi.WifiManager

This class provides the primary API for managing all aspects of Wi-Fi connectivity. Get an instance of this class by calling Context.getSystemService(Context.WIFI_SERVICE). It deals with several categories of items:

  • The list of configured networks. The list can be viewed and updated, and attributes of individual entries can be modified.
  • The currently active Wi-Fi network, if any. Connectivity can be established or torn down, and dynamic information about the state of the network can be queried.
  • Results of access point scans, containing enough information to make decisions about what access point to connect to.
  • It defines the names of various Intent actions that are broadcast upon any sort of change in Wi-Fi state.
This is the API to use when performing Wi-Fi specific operations. To perform operations that pertain to network connectivity at an abstract level, use ConnectivityManager.

Summary

Constants

      Value  
String  ACTION_PICK_WIFI_NETWORK  Activity Action: Pick a Wi-Fi network to connect to.  "android.net.wifi.PICK_WIFI_NETWORK" 
String  EXTRA_BSSID  The lookup key for a String giving the BSSID of the access point to which we are connected.  "bssid" 
String  EXTRA_NETWORK_INFO  The lookup key for a NetworkInfo object associated with the Wi-Fi network.  "networkInfo" 
String  EXTRA_NEW_RSSI  The lookup key for an int giving the new RSSI in dBm.  "newRssi" 
String  EXTRA_NEW_STATE  The lookup key for a SupplicantState describing the new state Retrieve with getParcelableExtra(String) "newState" 
String  EXTRA_PREVIOUS_WIFI_STATE  The previous Wi-Fi state.  "previous_wifi_state" 
String  EXTRA_SUPPLICANT_CONNECTED  The lookup key for a boolean that indicates whether a connection to the supplicant daemon has been gained or lost.  "connected" 
String  EXTRA_WIFI_STATE  The lookup key for an int that indicates whether Wi-Fi is enabled, disabled, enabling, disabling, or unknown.  "wifi_state" 
String  NETWORK_STATE_CHANGED_ACTION  Broadcast intent action indicating that the state of Wi-Fi connectivity has changed.  "android.net.wifi.STATE_CHANGE" 
String  RSSI_CHANGED_ACTION  The RSSI (signal strength) has changed.  "android.net.wifi.RSSI_CHANGED" 
String  SCAN_RESULTS_AVAILABLE_ACTION  An access point scan has completed, and results are available from the supplicant.  "android.net.wifi.SCAN_RESULTS" 
String  SUPPLICANT_CONNECTION_CHANGE_ACTION  Broadcast intent action indicating that a connection to the supplicant has been established (and it is now possible to perform Wi-Fi operations) or the connection to the supplicant has been lost.  "android.net.wifi.supplicant.CONNECTION_CHANGE" 
String  SUPPLICANT_STATE_CHANGED_ACTION  Broadcast intent action indicating that the state of establishing a connection to an access point has changed.One extra provides the new SupplicantState "android.net.wifi.supplicant.STATE_CHANGE" 
String  WIFI_STATE_CHANGED_ACTION  Broadcast intent action indicating that Wi-Fi has been enabled, disabled, enabling, disabling, or unknown.  "android.net.wifi.WIFI_STATE_CHANGED" 
int  WIFI_STATE_DISABLED  Wi-Fi is disabled.  0x00000001 
int  WIFI_STATE_DISABLING  Wi-Fi is currently being disabled.  0x00000000 
int  WIFI_STATE_ENABLED  Wi-Fi is enabled.  0x00000003 
int  WIFI_STATE_ENABLING  Wi-Fi is currently being enabled.  0x00000002 
int  WIFI_STATE_UNKNOWN  Wi-Fi is in an unknown state.  0x00000004 

Public Methods

          int  addNetwork(WifiConfiguration config)
Add a new network description to the set of configured networks.
      static    int  calculateSignalLevel(int rssi, int numLevels)
Calculates the level of the signal.
      static    int  compareSignalLevel(int rssiA, int rssiB)
Compares two signal strengths.
          boolean  disableNetwork(int netId)
Disable a configured network.
          boolean  disconnect()
Disassociate from the currently active access point.
          boolean  enableNetwork(int netId, boolean disableOthers)
Allow a previously configured network to be associated with.
          List<WifiConfiguration getConfiguredNetworks()
Return a list of all the networks configured in the supplicant.
          WifiInfo  getConnectionInfo()
Return dynamic information about the current Wi-Fi connection, if any is active.
          DhcpInfo  getDhcpInfo()
Return the DHCP-assigned addresses from the last successful DHCP request, if any.
          List<ScanResult getScanResults()
Return the results of the latest access point scan.
          int  getWifiState()
Gets the Wi-Fi enabled state.
          boolean  isWifiEnabled()
Return whether Wi-Fi is enabled or disabled.
          boolean  pingSupplicant()
Check that the supplicant daemon is responding to requests.
          boolean  reassociate()
Reconnect to the currently active access point, even if we are already connected.
          boolean  reconnect()
Reconnect to the currently active access point, if we are currently disconnected.
          boolean  removeNetwork(int netId)
Remove the specified network from the list of configured networks.
          boolean  saveConfiguration()
Tell the supplicant to persist the current list of configured networks.
          boolean  setWifiEnabled(boolean enabled)
Enable or disable Wi-Fi.
          boolean  startScan()
Request a scan for access points.
          int  updateNetwork(WifiConfiguration config)
Update the network description of an existing configured network.
Methods inherited from class java.lang.Object

Details

Constants

public static final String ACTION_PICK_WIFI_NETWORK

Activity Action: Pick a Wi-Fi network to connect to.

Input: Nothing.

Output: Nothing.

Constant Value: "android.net.wifi.PICK_WIFI_NETWORK"

public static final String EXTRA_BSSID

The lookup key for a String giving the BSSID of the access point to which we are connected. Only present when the new state is CONNECTED. Retrieve with getStringExtra(String).
Constant Value: "bssid"

public static final String EXTRA_NETWORK_INFO

The lookup key for a NetworkInfo object associated with the Wi-Fi network. Retrieve with getParcelableExtra(String).
Constant Value: "networkInfo"

public static final String EXTRA_NEW_RSSI

The lookup key for an int giving the new RSSI in dBm.
Constant Value: "newRssi"

public static final String EXTRA_NEW_STATE

The lookup key for a SupplicantState describing the new state Retrieve with getParcelableExtra(String).
Constant Value: "newState"

public static final String EXTRA_PREVIOUS_WIFI_STATE

The previous Wi-Fi state.

See Also

Constant Value: "previous_wifi_state"

public static final String EXTRA_SUPPLICANT_CONNECTED

The lookup key for a boolean that indicates whether a connection to the supplicant daemon has been gained or lost. true means a connection now exists. Retrieve it with getBooleanExtra(String, boolean).
Constant Value: "connected"

public static final String EXTRA_WIFI_STATE

The lookup key for an int that indicates whether Wi-Fi is enabled, disabled, enabling, disabling, or unknown. Retrieve it with getIntExtra(String, int).
Constant Value: "wifi_state"

public static final String NETWORK_STATE_CHANGED_ACTION

Broadcast intent action indicating that the state of Wi-Fi connectivity has changed. One extra provides the new state in the form of a NetworkInfo object. If the new state is CONNECTED, a second extra may provide the BSSID of the access point, as a String.
Constant Value: "android.net.wifi.STATE_CHANGE"

public static final String RSSI_CHANGED_ACTION

The RSSI (signal strength) has changed.

See Also

Constant Value: "android.net.wifi.RSSI_CHANGED"

public static final String SCAN_RESULTS_AVAILABLE_ACTION

An access point scan has completed, and results are available from the supplicant. Call getScanResults() to obtain the results.
Constant Value: "android.net.wifi.SCAN_RESULTS"

public static final String SUPPLICANT_CONNECTION_CHANGE_ACTION

Broadcast intent action indicating that a connection to the supplicant has been established (and it is now possible to perform Wi-Fi operations) or the connection to the supplicant has been lost. One extra provides the connection state as a boolean, where true means CONNECTED.
Constant Value: "android.net.wifi.supplicant.CONNECTION_CHANGE"

public static final String SUPPLICANT_STATE_CHANGED_ACTION

Broadcast intent action indicating that the state of establishing a connection to an access point has changed.One extra provides the new SupplicantState. Note that the supplicant state is Wi-Fi specific, and is not generally the most useful thing to look at if you are just interested in the overall state of connectivity.

See Also

Constant Value: "android.net.wifi.supplicant.STATE_CHANGE"

public static final String WIFI_STATE_CHANGED_ACTION

Broadcast intent action indicating that Wi-Fi has been enabled, disabled, enabling, disabling, or unknown. One extra provides this state as an int. Another extra provides the previous state, if available.
Constant Value: "android.net.wifi.WIFI_STATE_CHANGED"

public static final int WIFI_STATE_DISABLED

Wi-Fi is disabled.
Constant Value: 1 (0x00000001)

public static final int WIFI_STATE_DISABLING

Wi-Fi is currently being disabled. The state will change to WIFI_STATE_DISABLED if it finishes successfully.
Constant Value: 0 (0x00000000)

public static final int WIFI_STATE_ENABLED

Wi-Fi is enabled.
Constant Value: 3 (0x00000003)

public static final int WIFI_STATE_ENABLING

Wi-Fi is currently being enabled. The state will change to WIFI_STATE_ENABLED if it finishes successfully.
Constant Value: 2 (0x00000002)

public static final int WIFI_STATE_UNKNOWN

Wi-Fi is in an unknown state. This state will occur when an error happens while enabling or disabling.
Constant Value: 4 (0x00000004)

Public Methods

public int addNetwork(WifiConfiguration config)

Add a new network description to the set of configured networks. The networkId field of the supplied configuration object is ignored.

The new network will be marked DISABLED by default. To enable it, called enableNetwork(int, boolean).

Parameters

config the set of variables that describe the configuration, contained in a WifiConfiguration object.

Returns

  • the ID of the newly created network description. This is used in other operations to specified the network to be acted upon. Returns -1 on failure.

public static int calculateSignalLevel(int rssi, int numLevels)

Calculates the level of the signal. This should be used any time a signal is being shown.

Parameters

rssi The power of the signal measured in RSSI.
numLevels The number of levels to consider in the calculated level.

Returns

  • A level of the signal, given in the range of 0 to numLevels-1 (both inclusive).

public static int compareSignalLevel(int rssiA, int rssiB)

Compares two signal strengths.

Parameters

rssiA The power of the first signal measured in RSSI.
rssiB The power of the second signal measured in RSSI.

Returns

  • Returns <0 if the first signal is weaker than the second signal, 0 if the two signals have the same strength, and >0 if the first signal is stronger than the second signal.

public boolean disableNetwork(int netId)

Disable a configured network. The specified network will not be a candidate for associating. This may result in the asynchronous delivery of state change events.

Parameters

netId the ID of the network as returned by addNetwork(WifiConfiguration).

Returns

  • true if the operation succeeded

public boolean disconnect()

Disassociate from the currently active access point. This may result in the asynchronous delivery of state change events.

Returns

  • true if the operation succeeded

public boolean enableNetwork(int netId, boolean disableOthers)

Allow a previously configured network to be associated with. If disableOthers is true, then all other configured networks are disabled, and an attempt to connect to the selected network is initiated. This may result in the asynchronous delivery of state change events.

Parameters

netId the ID of the network in the list of configured networks
disableOthers if true, disable all other networks. The way to select a particular network to connect to is specify true for this parameter.

Returns

  • true if the operation succeeded

public List<WifiConfiguration> getConfiguredNetworks()

Return a list of all the networks configured in the supplicant. Not all fields of WifiConfiguration are returned. Only the following fields are filled in:
  • networkId
  • SSID
  • BSSID
  • priority
  • allowedProtocols
  • allowedKeyManagement
  • allowedAuthAlgorithms
  • allowedPairCiphers
  • allowedGroupCiphers

Returns

  • a list of network configurations in the form of a list of WifiConfiguration objects.

public WifiInfo getConnectionInfo()

Return dynamic information about the current Wi-Fi connection, if any is active.

Returns

  • the Wi-Fi information, contained in WifiInfo.

public DhcpInfo getDhcpInfo()

Return the DHCP-assigned addresses from the last successful DHCP request, if any.

Returns

  • the DHCP information

public List<ScanResult> getScanResults()

Return the results of the latest access point scan.

Returns

  • the list of access points found in the most recent scan.

public int getWifiState()

public boolean isWifiEnabled()

Return whether Wi-Fi is enabled or disabled.

Returns

  • true if Wi-Fi is enabled

See Also

public boolean pingSupplicant()

Check that the supplicant daemon is responding to requests.

Returns

  • true if we were able to communicate with the supplicant and it returned the expected response to the PING message.

public boolean reassociate()

Reconnect to the currently active access point, even if we are already connected. This may result in the asynchronous delivery of state change events.

Returns

  • true if the operation succeeded

public boolean reconnect()

Reconnect to the currently active access point, if we are currently disconnected. This may result in the asynchronous delivery of state change events.

Returns

  • true if the operation succeeded

public boolean removeNetwork(int netId)

Remove the specified network from the list of configured networks. This may result in the asynchronous delivery of state change events.

Parameters

netId the integer that identifies the network configuration to the supplicant

Returns

  • true if the operation succeeded

public boolean saveConfiguration()

Tell the supplicant to persist the current list of configured networks.

Returns

  • true if the operation succeeded

public boolean setWifiEnabled(boolean enabled)

Enable or disable Wi-Fi.

Parameters

enabled true to enable, false to disable.

Returns

  • true if the operation succeeds (or if the existing state is the same as the requested state).

public boolean startScan()

Request a scan for access points. Returns immediately. The availability of the results is made known later by means of an asynchronous event sent on completion of the scan.

Returns

  • true if the operation succeeded, i.e., the scan was initiated

public int updateNetwork(WifiConfiguration config)

Update the network description of an existing configured network.

Parameters

config the set of variables that describe the configuration, contained in a WifiConfiguration object. It may be sparse, so that only the items that are being changed are non-null. The networkId field must be set to the ID of the existing network being updated.

Returns

  • Returns the networkId of the supplied WifiConfiguration on success.
    Returns -1 on failure, including when the networkId field of the WifiConfiguration does not refer to an existing network.
Copyright 2007 Google Inc. Build 0.9_r1-98467 - 14 Aug 2008 18:48