所有-我有一个应用程序,我希望用户能够连接到一个WiFi网络。我查看了这个question,我让这个应用程序能够断开连接,而不是重新连接(换句话说,我有正确的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的代码)?,谢谢您的时间!
发布于 2012-07-30 01:12:37
你只是在问如何以编程方式打开android中的wifi吗?
How to programmatically turn off WiFi on Android device?
概括地说:
wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
boolean wifiEnabled = wifiManager.isWifiEnabled();
if(!wifiEnabled){
wifiManager.setWifiEnabled(true);
}https://stackoverflow.com/questions/11714290
复制相似问题