public final enum

SupplicantState

extends Enum<E extends Enum<E>>
implements Parcelable
java.lang.Object
   ↳ java.lang.Enum<E extends java.lang.Enum<E>>
     ↳ android.net.wifi.SupplicantState

Class Overview

From defs.h in wpa_supplicant.

These enumeration values are used to indicate the current wpa_supplicant state. This is more fine-grained than most users will be interested in. In general, it is better to use NetworkInfo.State.

Note, the order of these enum constants must match the numerical values of the state constants in defs.h in wpa_supplicant.

Summary

Enum Values
SupplicantState  ASSOCIATED  Association completed. 
SupplicantState  ASSOCIATING  Trying to associate with a BSS/SSID. 
SupplicantState  COMPLETED  All authentication completed. 
SupplicantState  DISCONNECTED  This state indicates that client is not associated, but is likely to start looking for an access point. 
SupplicantState  DORMANT  An Android-added state that is reported when a client issues an explicit DISCONNECT command. 
SupplicantState  FOUR_WAY_HANDSHAKE  WPA 4-Way Key Handshake in progress. 
SupplicantState  GROUP_HANDSHAKE  WPA Group Key Handshake in progress. 
SupplicantState  INACTIVE  Inactive state (wpa_supplicant disabled). 
SupplicantState  INVALID  A pseudo-state that should normally never be seen. 
SupplicantState  SCANNING  Scanning for a network. 
SupplicantState  UNINITIALIZED  No connection to wpa_supplicant. 
[Expand]
Inherited Constants
From interface android.os.Parcelable
Public Methods
static boolean isValidState(SupplicantState state)
Returns true if the supplicant state is valid and false otherwise.
static SupplicantState valueOf(String name)
final static SupplicantState[] values()
[Expand]
Inherited Methods
From class java.lang.Enum
From class java.lang.Object
From interface android.os.Parcelable
From interface java.lang.Comparable

Enum Values

public static final SupplicantState ASSOCIATED

Since: API Level

Association completed.

This state is entered when the driver reports that association has been successfully completed with an AP. If IEEE 802.1X is used (with or without WPA/WPA2), wpa_supplicant remains in this state until the IEEE 802.1X/EAPOL authentication has been completed.

public static final SupplicantState ASSOCIATING

Since: API Level

Trying to associate with a BSS/SSID.

This state is entered when wpa_supplicant has found a suitable BSS to associate with and the driver is configured to try to associate with this BSS in ap_scan=1 mode. When using ap_scan=2 mode, this state is entered when the driver is configured to try to associate with a network using the configured SSID and security policy.

public static final SupplicantState COMPLETED

Since: API Level

All authentication completed.

This state is entered when the full authentication process is completed. In case of WPA2, this happens when the 4-Way Handshake is successfully completed. With WPA, this state is entered after the Group Key Handshake; with IEEE 802.1X (non-WPA) connection is completed after dynamic keys are received (or if not used, after the EAP authentication has been completed). With static WEP keys and plaintext connections, this state is entered when an association has been completed.

This state indicates that the supplicant has completed its processing for the association phase and that data connection is fully configured. Note, however, that there may not be any IP address associated with the connection yet. Typically, a DHCP request needs to be sent at this point to obtain an address.

public static final SupplicantState DISCONNECTED

Since: API Level

This state indicates that client is not associated, but is likely to start looking for an access point. This state is entered when a connection is lost.

public static final SupplicantState DORMANT

Since: API Level

An Android-added state that is reported when a client issues an explicit DISCONNECT command. In such a case, the supplicant is not only dissociated from the current access point (as for the DISCONNECTED state above), but it also does not attempt to connect to any access point until a RECONNECT or REASSOCIATE command is issued by the client.

public static final SupplicantState FOUR_WAY_HANDSHAKE

Since: API Level

WPA 4-Way Key Handshake in progress.

This state is entered when WPA/WPA2 4-Way Handshake is started. In case of WPA-PSK, this happens when receiving the first EAPOL-Key frame after association. In case of WPA-EAP, this state is entered when the IEEE 802.1X/EAPOL authentication has been completed.

public static final SupplicantState GROUP_HANDSHAKE

Since: API Level

WPA Group Key Handshake in progress.

This state is entered when 4-Way Key Handshake has been completed (i.e., when the supplicant sends out message 4/4) and when Group Key rekeying is started by the AP (i.e., when supplicant receives message 1/2).

public static final SupplicantState INACTIVE

Since: API Level

Inactive state (wpa_supplicant disabled).

This state is entered if there are no enabled networks in the configuration. wpa_supplicant is not trying to associate with a new network and external interaction (e.g., ctrl_iface call to add or enable a network) is needed to start association.

public static final SupplicantState INVALID

Since: API Level

A pseudo-state that should normally never be seen.

public static final SupplicantState SCANNING

Since: API Level

Scanning for a network.

This state is entered when wpa_supplicant starts scanning for a network.

public static final SupplicantState UNINITIALIZED

Since: API Level

No connection to wpa_supplicant.

This is an additional pseudo-state to handle the case where wpa_supplicant is not running and/or we have not been able to establish a connection to it.

Public Methods

public static boolean isValidState (SupplicantState state)

Since: API Level 1

Returns true if the supplicant state is valid and false otherwise.

Parameters
state The supplicant state
Returns
  • true if the supplicant state is valid and false otherwise.

public static SupplicantState valueOf (String name)

Since: API Level 1

public static final SupplicantState[] values ()

Since: API Level 1