0

我是一名安卓开发者。我在使用 WiFi 配置时遇到问题。当有人打开我的应用程序时,我需要连接到 WiFi。用户必须配置 WiFi,并且只有在该应用程序继续之后。我提供最近的网络列表,用户必须选择他已知的网络。用户必须输入所选网络的密码。我如何检查用户是否输入了有效/正确的密码以启用 WiFi 连接。

请指导我。

提前致谢。

4

2 回答 2

0

您可以为WIFI_STATE_CHANGED_ACTIONBroadcastReceiver操作注册一个。然后,当 Wifi 状态发生变化时,您的接收器将被调用,因此当用户将他的手机连接到 wifi 网络时。WifiManager

于 2012-12-07T23:54:03.463 回答
0

好问题。只需尝试连接到定义的 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();;

    }

}
于 2012-12-07T23:58:06.977 回答