Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将Android连接到无SSID公共和无需密码_Android_Wifi_Android Wifi_Wifimanager_Ssid - Fatal编程技术网

如何将Android连接到无SSID公共和无需密码

如何将Android连接到无SSID公共和无需密码,android,wifi,android-wifi,wifimanager,ssid,Android,Wifi,Android Wifi,Wifimanager,Ssid,我无法在已建立的SSID上连接Android,我尝试了WifiConfiguration,但未成功,我的SSID在没有密码的情况下打开 在Android用户界面中我可以连接,但在代码上我不能 有人帮我吗 谢谢 编辑: 我的代码: String networkSSID = "DL63.0.0.0.1"; String networkPass = ""; WifiConfiguration conf = new WifiConfiguration();

我无法在已建立的SSID上连接Android,我尝试了WifiConfiguration,但未成功,我的SSID在没有密码的情况下打开

在Android用户界面中我可以连接,但在代码上我不能

有人帮我吗

谢谢

编辑:

我的代码:

String networkSSID = "DL63.0.0.0.1";
        String networkPass = "";

        WifiConfiguration conf = new WifiConfiguration();
        conf.SSID = "\"" + networkSSID + "\"";
//        conf.wepKeys[0] = "\"" + networkPass + "\"";
//        conf.wepTxKeyIndex = 0;
        conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
//        conf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);

        WifiManager wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
        wifiManager.addNetwork(conf);

        List<WifiConfiguration> list = wifiManager.getConfiguredNetworks();
        for (WifiConfiguration i : list) {
            if (i.SSID != null && i.SSID.equals("\"" + networkSSID + "\"")) {
                wifiManager.disconnect();
                wifiManager.enableNetwork(i.networkId, true);
                wifiManager.reconnect();

                Toast.makeText(this, "SSID: "+wifiManager.getConnectionInfo().getSSID(), Toast.LENGTH_SHORT).show();
                break;
            }
        }

        status.setText("SSID: "+wifiManager.getConnectionInfo().getSSID());

可能是因为wifiManager.reconnect;启动异步进程以进行连接。当您的代码到达最后一行时,还没有需要时间的连接,甚至可能需要一分钟左右,所以此时的正确答案是null。您需要一个侦听器来对connect事件作出反应。有关详细信息,请参见该问题:

请显示您的代码。。。你到底试过什么?我试过这两个密码回答2和3:到底发生了什么?任何异常/错误消息?无错误,仅在SSID上返回null。