Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.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
Java 连接到Android上所有可用的Wifi网络_Java_Android_Networking_Wifi_Wifimanager - Fatal编程技术网

Java 连接到Android上所有可用的Wifi网络

Java 连接到Android上所有可用的Wifi网络,java,android,networking,wifi,wifimanager,Java,Android,Networking,Wifi,Wifimanager,我正在尝试制作一个应用程序,一旦连接,在过去使用过的每个可用网络上运行特定的方法。在运行该方法并连接到下一个可用网络之前,我尝试确保wifi已完全连接,但这部分代码似乎无法正常工作 如有任何建议,将不胜感激 List<WifiConfiguration> networkList = wifiManager.getConfiguredNetworks(); List<ScanResult> scannedList = wifiManager.ge

我正在尝试制作一个应用程序,一旦连接,在过去使用过的每个可用网络上运行特定的方法。在运行该方法并连接到下一个可用网络之前,我尝试确保wifi已完全连接,但这部分代码似乎无法正常工作

如有任何建议,将不胜感激

        List<WifiConfiguration> networkList  = wifiManager.getConfiguredNetworks();
    List<ScanResult> scannedList  = wifiManager.getScanResults();
    for (ScanResult i: scannedList){
        for (WifiConfiguration z: networkList){
            if(z.SSID.substring(1, (z.SSID.length() - 1)).equals(i.SSID)){  
                //System.out.println("NETWORK: " + i.SSID);
                System.out.println("NETWORK: " + i.SSID + "STATE " + wifiManager.getConnectionInfo().getSupplicantState().toString());
                wifiManager.disconnect();
                wifiManager.enableNetwork(z.networkId, true);
                wifiManager.reconnect();
                while(wifiManager.getConnectionInfo().getSupplicantState().toString() != "COMPLETED"){
                }
                runMethod(wifiManager);
            }
        }
    }   
}
List networkList=wifiManager.getConfiguredNetworks();
List scannedList=wifiManager.getScanResults();
用于(扫描结果i:scannedList){
用于(WifiConfiguration z:networkList){
如果(z.SSID.substring(1,(z.SSID.length()-1))等于(i.SSID)){
//System.out.println(“网络:+i.SSID”);
System.out.println(“网络:+i.SSID+“状态”+wifiManager.getConnectionInfo().getSupplicantState().toString());
wifiManager.disconnect();
wifiManager.enableNetwork(z.networkId,true);
wifiManager.reconnect();
while(wifiManager.getConnectionInfo().getSupplicantState().toString()!=“已完成”){
}
runMethod(wifiManager);
}
}
}   
}

您是否考虑过使用广播接收器,以便将您的代码放入它的onReceive中?@Shereef Hmmm。。。我会调查的。这到底有什么帮助?(我不太熟悉广播机+接收器)?与其在连接之前循环,不如在连接或断开连接时运行2 onReceive