我是一名安卓开发者。我在使用 WiFi 配置时遇到问题。当有人打开我的应用程序时,我需要连接到 WiFi。用户必须配置 WiFi,并且只有在该应用程序继续之后。我提供最近的网络列表,用户必须选择他已知的网络。用户必须输入所选网络的密码。我如何检查用户是否输入了有效/正确的密码以启用 WiFi 连接。
请指导我。
提前致谢。
您可以为WIFI_STATE_CHANGED_ACTION的BroadcastReceiver
操作注册一个。然后,当 Wifi 状态发生变化时,您的接收器将被调用,因此当用户将他的手机连接到 wifi 网络时。WifiManager
好问题。只需尝试连接到定义的 AP 并验证结果:
WifiConfiguration wc = new WifiConfiguration();
...
// If password is empty, it should be left untouched
if (!TextUtils.isEmpty(pswd)) {
if (pswd.length() == 64) {
// Goes unquoted as hex
wc.preSharedKey = pswd;
} else {
// Goes quoted as ASCII
wc.preSharedKey = TextUtil.convertToQuotedString(pswd);
}
}
int res = -1;
res = m_WifiManager.addNetwork(wc);
boolean b = m_WifiManager.enableNetwork(res, true);
if(b == true){
fixSupplicant();
m_WifiManager.saveConfiguration();
//success
}
else{
//failed
....
private void fixSupplicant() {
final SupplicantState state = m_WifiManager.getConnectionInfo().getSupplicantState();
boolean isReconnectDone = false;
if ((state == SupplicantState.SCANNING)
|| (state == SupplicantState.DISCONNECTED)
|| (state == SupplicantState.DORMANT)) {
isReconnectDone = m_WifiManager.reconnect();;
}
}