首页 文章

WiFi连接Android应用程序

提问于
浏览
0

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

请指导我 .

提前致谢 .

2 回答

  • 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();;
    
        }
    
    }
    
  • 0

    您可以为 WifiManagerWIFI_STATE_CHANGED_ACTION注册 BroadcastReceiver .
    然后当Wifi状态改变时,您的接收器将被呼叫,因此当用户将他的电话连接到wifi网络时 .

相关问题