WifiConfiguration
public
class
WifiConfiguration
extends Object
implements
Parcelable
java.lang.Object | |
↳ | android.net.wifi.WifiConfiguration |
This class was deprecated
in API level 29.
Use WifiNetworkSpecifier.Builder
to create NetworkSpecifier
and
WifiNetworkSuggestion.Builder
to create WifiNetworkSuggestion
. This class can
still be used with privileged APIs such as
WifiManager#addNetwork(WifiConfiguration)
.
A class representing a configured Wi-Fi network, including the security configuration.
Summary
Nested classes | |
---|---|
class |
WifiConfiguration.AuthAlgorithm
Recognized IEEE 802.11 authentication algorithms. |
class |
WifiConfiguration.GroupCipher
Recognized group ciphers. |
class |
WifiConfiguration.GroupMgmtCipher
Recognized group management ciphers. |
class |
WifiConfiguration.KeyMgmt
Recognized key management schemes. |
class |
WifiConfiguration.PairwiseCipher
Recognized pairwise ciphers for WPA. |
class |
WifiConfiguration.Protocol
Recognized security protocols. |
class |
WifiConfiguration.Status
Possible status of a network configuration. |
Constants | |
---|---|
int |
RANDOMIZATION_AUTO
Let the wifi framework automatically decide the MAC randomization strategy. |
int |
RANDOMIZATION_NONE
Use factory MAC when connecting to this network |
int |
RANDOMIZATION_NON_PERSISTENT
Use a randomly generated MAC address for connections to this network. |
int |
RANDOMIZATION_PERSISTENT
Generate a randomized MAC once and reuse it for all connections to this network |
int |
SECURITY_TYPE_DPP
Security type for Easy Connect (DPP) network |
int |
SECURITY_TYPE_EAP
Security type for an EAP network. |
int |
SECURITY_TYPE_EAP_SUITE_B
This constant was deprecated
in API level 29.
Use the |
int |
SECURITY_TYPE_EAP_WPA3_ENTERPRISE
Security type for a WPA3-Enterprise network. |
int |
SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT
Security type for a WPA3-Enterprise in 192-bit security network. |
int |
SECURITY_TYPE_OPEN
Security type for an open network. |
int |
SECURITY_TYPE_OWE
Security type for an OWE network. |
int |
SECURITY_TYPE_PSK
Security type for a PSK network. |
int |
SECURITY_TYPE_SAE
Security type for an SAE network. |
int |
SECURITY_TYPE_WAPI_CERT
Security type for a WAPI Certificate network. |
int |
SECURITY_TYPE_WAPI_PSK
Security type for a WAPI PSK network. |
int |
SECURITY_TYPE_WEP
Security type for a WEP network. |
Inherited constants |
---|
Fields | |
---|---|
public
String |
BSSID
When set, this network configuration entry should only be used when associating with the AP having the specified BSSID. |
public
String |
FQDN
Fully qualified domain name of a Passpoint configuration |
public
String |
SSID
The network's SSID. |
public
BitSet |
allowedAuthAlgorithms
The set of authentication protocols supported by this configuration. |
public
BitSet |
allowedGroupCiphers
The set of group ciphers supported by this configuration. |
public
BitSet |
allowedGroupManagementCiphers
The set of group management ciphers supported by this configuration. |
public
BitSet |
allowedKeyManagement
The set of key management protocols supported by this configuration. |
public
BitSet |
allowedPairwiseCiphers
The set of pairwise ciphers for WPA supported by this configuration. |
public
BitSet |
allowedProtocols
The set of security protocols supported by this configuration. |
public
BitSet |
allowedSuiteBCiphers
The set of SuiteB ciphers supported by this configuration. |
public
WifiEnterpriseConfig |
enterpriseConfig
The enterprise configuration details specifying the EAP method, certificates and other settings associated with the EAP. |
public
boolean |
hiddenSSID
This is a network that does not broadcast its SSID, so an SSID-specific probe request must be used for scans. |
public
boolean |
isHomeProviderNetwork
Flag indicating if this network is provided by a home Passpoint provider or a roaming Passpoint provider. |
public
int |
networkId
The ID number that the supplicant uses to identify this network configuration entry. |
public
String |
preSharedKey
Pre-shared key for use with WPA-PSK. |
public
int |
priority
This field was deprecated in API level 26. This field does not exist anymore. |
public
String |
providerFriendlyName
Name of Passpoint credential provider |
public
long[] |
roamingConsortiumIds
Roaming Consortium Id list for Passpoint credential; identifies a set of networks where Passpoint credential will be considered valid |
public
int |
status
The current status of this network configuration entry. |
public
String[] |
wepKeys
This field was deprecated in API level 28. Due to security and performance limitations, use of WEP networks is discouraged. |
public
int |
wepTxKeyIndex
This field was deprecated in API level 28. Due to security and performance limitations, use of WEP networks is discouraged. |
Public constructors | |
---|---|
WifiConfiguration()
|
|
WifiConfiguration(WifiConfiguration source)
Copy constructor |
Public methods | |
---|---|
ProxyInfo
|
getHttpProxy()
Returns the HTTP proxy used by this object. |
String
|
getKey()
Return a String that can be used to uniquely identify this WifiConfiguration. |
int
|
getMacRandomizationSetting()
Get the MAC randomization setting for this network. |
MacAddress
|
getRandomizedMacAddress()
Returns MAC address set to be the local randomized MAC address. |
boolean
|
isDppConfigurator()
To check if this WifiConfiguration supports configuring a peer Enrollee device with SECURITY_TYPE_DPP |
boolean
|
isPasspoint()
Identify if this configuration represents a Passpoint network |
void
|
setHttpProxy(ProxyInfo httpProxy)
Set the |
void
|
setIpConfiguration(IpConfiguration ipConfiguration)
Set the |
void
|
setMacRandomizationSetting(int macRandomizationSetting)
Set the MAC randomization setting for this network. |
void
|
setSecurityParams(int securityType)
Set the various security params to correspond to the provided security type. |
String
|
toString()
Returns a string representation of the object. |
Inherited methods | |
---|---|
Constants
RANDOMIZATION_AUTO
public static final int RANDOMIZATION_AUTO
Let the wifi framework automatically decide the MAC randomization strategy.
Constant Value: 3 (0x00000003)
RANDOMIZATION_NONE
public static final int RANDOMIZATION_NONE
Use factory MAC when connecting to this network
Constant Value: 0 (0x00000000)
RANDOMIZATION_NON_PERSISTENT
public static final int RANDOMIZATION_NON_PERSISTENT
Use a randomly generated MAC address for connections to this network. This option does not persist the randomized MAC address.
Constant Value: 2 (0x00000002)
RANDOMIZATION_PERSISTENT
public static final int RANDOMIZATION_PERSISTENT
Generate a randomized MAC once and reuse it for all connections to this network
Constant Value: 1 (0x00000001)
SECURITY_TYPE_DPP
public static final int SECURITY_TYPE_DPP
Security type for Easy Connect (DPP) network
Constant Value: 13 (0x0000000d)
SECURITY_TYPE_EAP
public static final int SECURITY_TYPE_EAP
Security type for an EAP network.
Constant Value: 3 (0x00000003)
SECURITY_TYPE_EAP_SUITE_B
public static final int SECURITY_TYPE_EAP_SUITE_B
This constant was deprecated
in API level 29.
Use the SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT
constant
(which is the same value).
Security type for a WPA3-Enterprise in 192-bit security network.
Constant Value: 5 (0x00000005)
SECURITY_TYPE_EAP_WPA3_ENTERPRISE
public static final int SECURITY_TYPE_EAP_WPA3_ENTERPRISE
Security type for a WPA3-Enterprise network.
Constant Value: 9 (0x00000009)
SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT
public static final int SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT
Security type for a WPA3-Enterprise in 192-bit security network.
This is the same as SECURITY_TYPE_EAP_SUITE_B
and uses the same value.
Constant Value: 5 (0x00000005)
SECURITY_TYPE_OPEN
public static final int SECURITY_TYPE_OPEN
Security type for an open network.
Constant Value: 0 (0x00000000)
SECURITY_TYPE_OWE
public static final int SECURITY_TYPE_OWE
Security type for an OWE network.
Constant Value: 6 (0x00000006)
SECURITY_TYPE_PSK
public static final int SECURITY_TYPE_PSK
Security type for a PSK network.
Constant Value: 2 (0x00000002)
SECURITY_TYPE_SAE
public static final int SECURITY_TYPE_SAE
Security type for an SAE network.
Constant Value: 4 (0x00000004)
SECURITY_TYPE_WAPI_CERT
public static final int SECURITY_TYPE_WAPI_CERT
Security type for a WAPI Certificate network.
Constant Value: 8 (0x00000008)
SECURITY_TYPE_WAPI_PSK
public static final int SECURITY_TYPE_WAPI_PSK
Security type for a WAPI PSK network.
Constant Value: 7 (0x00000007)
SECURITY_TYPE_WEP
public static final int SECURITY_TYPE_WEP
Security type for a WEP network.
Constant Value: 1 (0x00000001)
Fields
BSSID
public String BSSID
When set, this network configuration entry should only be used when
associating with the AP having the specified BSSID. The value is
a string in the format of an Ethernet MAC address, e.g.,
XX:XX:XX:XX:XX:XX
where each X
is a hex digit.
SSID
public String SSID
The network's SSID. Can either be a UTF-8 string,
which must be enclosed in double quotation marks
(e.g., "MyNetwork"
), or a string of
hex digits, which are not enclosed in quotes
(e.g., 01a243f405
).
allowedAuthAlgorithms
public BitSet allowedAuthAlgorithms
The set of authentication protocols supported by this configuration.
See AuthAlgorithm
for descriptions of the values.
Defaults to automatic selection.
allowedGroupCiphers
public BitSet allowedGroupCiphers
The set of group ciphers supported by this configuration.
See GroupCipher
for descriptions of the values.
Defaults to CCMP TKIP WEP104 WEP40.
allowedGroupManagementCiphers
public BitSet allowedGroupManagementCiphers
The set of group management ciphers supported by this configuration.
See GroupMgmtCipher
for descriptions of the values.
allowedKeyManagement
public BitSet allowedKeyManagement
The set of key management protocols supported by this configuration.
See KeyMgmt
for descriptions of the values.
Defaults to WPA-PSK WPA-EAP.
allowedPairwiseCiphers
public BitSet allowedPairwiseCiphers
The set of pairwise ciphers for WPA supported by this configuration.
See PairwiseCipher
for descriptions of the values.
Defaults to CCMP TKIP.
allowedProtocols
public BitSet allowedProtocols
The set of security protocols supported by this configuration.
See Protocol
for descriptions of the values.
Defaults to WPA RSN.
allowedSuiteBCiphers
public BitSet allowedSuiteBCiphers
The set of SuiteB ciphers supported by this configuration. To be used for WPA3-Enterprise mode. Set automatically by the framework based on the certificate type that is used in this configuration.
enterpriseConfig
public WifiEnterpriseConfig enterpriseConfig
The enterprise configuration details specifying the EAP method, certificates and other settings associated with the EAP.
hiddenSSID
public boolean hiddenSSID
This is a network that does not broadcast its SSID, so an SSID-specific probe request must be used for scans.
isHomeProviderNetwork
public boolean isHomeProviderNetwork
Flag indicating if this network is provided by a home Passpoint provider or a roaming
Passpoint provider. This flag will be true
if this network is provided by
a home Passpoint provider and false
if is provided by a roaming Passpoint provider
or is a non-Passpoint network.
networkId
public int networkId
The ID number that the supplicant uses to identify this network configuration entry. This must be passed as an argument to most calls into the supplicant.
preSharedKey
public String preSharedKey
Pre-shared key for use with WPA-PSK. Either an ASCII string enclosed in
double quotation marks (e.g., "abcdefghij"
for PSK passphrase or
a string of 64 hex digits for raw PSK.
priority
public int priority
This field was deprecated
in API level 26.
This field does not exist anymore.
Priority determines the preference given to a network by wpa_supplicant
when choosing an access point with which to associate.
roamingConsortiumIds
public long[] roamingConsortiumIds
Roaming Consortium Id list for Passpoint credential; identifies a set of networks where Passpoint credential will be considered valid
status
public int status
The current status of this network configuration entry.
See also:
wepKeys
public String[] wepKeys
This field was deprecated
in API level 28.
Due to security and performance limitations, use of WEP networks
is discouraged.
Four WEP keys. For each of the four values, provide either an ASCII
string enclosed in double quotation marks (e.g., "abcdef"
)
or a string of hex digits (e.g., 0102030405
).
wepTxKeyIndex
public int wepTxKeyIndex
This field was deprecated
in API level 28.
Due to security and performance limitations, use of WEP networks
is discouraged.
Default WEP key index, ranging from 0 to 3.
Public constructors
WifiConfiguration
public WifiConfiguration (WifiConfiguration source)
Copy constructor
Parameters | |
---|---|
source |
WifiConfiguration : This value cannot be null . |
Public methods
getHttpProxy
public ProxyInfo getHttpProxy ()
Returns the HTTP proxy used by this object.
Returns | |
---|---|
ProxyInfo |
a httpProxy representing the proxy specified by this
WifiConfiguration, or null if no proxy is specified. |
getKey
public String getKey ()
Return a String that can be used to uniquely identify this WifiConfiguration.
Note: Do not persist this value! This value is not guaranteed to remain backwards compatible.
Returns | |
---|---|
String |
This value cannot be null . |
getMacRandomizationSetting
public int getMacRandomizationSetting ()
Get the MAC randomization setting for this network.
Returns | |
---|---|
int |
Value is RANDOMIZATION_NONE , RANDOMIZATION_PERSISTENT , RANDOMIZATION_NON_PERSISTENT , or RANDOMIZATION_AUTO |
getRandomizedMacAddress
public MacAddress getRandomizedMacAddress ()
Returns MAC address set to be the local randomized MAC address. Depending on user preference, the device may or may not use the returned MAC address for connections to this network.
Information is restricted to Device Owner, Profile Owner, and Carrier apps (which will only obtain addresses for configurations which they create). Other callers will receive a default "02:00:00:00:00:00" MAC address.
Returns | |
---|---|
MacAddress |
This value cannot be null . |
isDppConfigurator
public boolean isDppConfigurator ()
To check if this WifiConfiguration supports configuring a peer Enrollee device with SECURITY_TYPE_DPP
Returns | |
---|---|
boolean |
isPasspoint
public boolean isPasspoint ()
Identify if this configuration represents a Passpoint network
Returns | |
---|---|
boolean |
setHttpProxy
public void setHttpProxy (ProxyInfo httpProxy)
Set the ProxyInfo
for this WifiConfiguration. This method should only be used by a
device owner or profile owner. When other apps attempt to save a WifiConfiguration
with modified proxy settings, the methods WifiManager#addNetwork
and
WifiManager#updateNetwork
fail and return -1
.
Parameters | |
---|---|
httpProxy |
ProxyInfo : ProxyInfo representing the httpProxy to be used by this
WifiConfiguration. Setting this to null will explicitly set no
proxy, removing any proxy that was previously set. |
setIpConfiguration
public void setIpConfiguration (IpConfiguration ipConfiguration)
Set the IpConfiguration
for this network.
Parameters | |
---|---|
ipConfiguration |
IpConfiguration : a IpConfiguration to use for this Wi-Fi configuration, or
null to use the default configuration. |
setMacRandomizationSetting
public void setMacRandomizationSetting (int macRandomizationSetting)
Set the MAC randomization setting for this network.
Caller must satify one of the following conditions:
- Have
android.Manifest.permission#NETWORK_SETTINGS
permission. - Have
android.Manifest.permission#NETWORK_SETUP_WIZARD
permission. - Be in Demo Mode.
- Be the creator adding or updating a passpoint network.
- Be an admin updating their own network.
Parameters | |
---|---|
macRandomizationSetting |
int : Value is RANDOMIZATION_NONE , RANDOMIZATION_PERSISTENT , RANDOMIZATION_NON_PERSISTENT , or RANDOMIZATION_AUTO |
setSecurityParams
public void setSecurityParams (int securityType)
Set the various security params to correspond to the provided security type.
This is accomplished by setting the various BitSets exposed in WifiConfiguration.
This API would clear existing security types and add a default one.
Before calling this API with SECURITY_TYPE_DPP
as securityType,
call WifiManager.isEasyConnectDppAkmSupported()
}
Parameters | |
---|---|
securityType |
int |
toString
public String toString ()
Returns a string representation of the object.
Returns | |
---|---|
String |
a string representation of the object. |
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2024-04-11 UTC.