Java 连接到Android上所有可用的Wifi网络
我正在尝试制作一个应用程序,一旦连接,在过去使用过的每个可用网络上运行特定的方法。在运行该方法并连接到下一个可用网络之前,我尝试确保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
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