全部 - 我有一个应用程序,我希望用户能够在其中连接 WiFi 网络。我查看了这个问题,我让应用程序能够断开连接然后重新连接(换句话说,我有正确的 SSID 和密码),但他并不是我想要做的。如果尚未连接,我只想连接,如果已经连接,则不做任何事情。当我关闭 WiFi(通过设置)并运行我的应用程序时,什么也没发生。所以比我试过这个
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiConfiguration wc = new WifiConfiguration();
String networkSSID = SSID;
String networkPass = PASS;
wc.SSID = "\"" + networkSSID + "\"";
wc.preSharedKey = "\""+ networkPass +"\"";
wc.hiddenSSID = true;
List<WifiConfiguration> list = wifi.getConfiguredNetworks();
for( WifiConfiguration i : list ) {
if(i.SSID != null && i.SSID.equals("\"" + networkSSID + "\"")) {
wifi.enableNetwork(i.networkId, true); //Look here
break;
}
}
与此相比
//Above code the same
for( WifiConfiguration i : list ) {
if(i.SSID != null && i.SSID.equals("\"" + networkSSID + "\"")) {
wifi.disconnect(); //See, disconnect..
wifi.enableNetwork(i.networkId, true);
wifi.reconnect(); //Than reconnect!
break;
}
}
但是,此更改无济于事(即使 WiFi 已打开)。所以我的问题是,如果还没有打开,我怎么能打开 WiFi,如果已经打开,什么也不做(我知道我必须使用 if 语句,所以我只是在寻找 WiFi 特定的代码)?谢谢你的时间!