Java 连接到WiFi为什么。断开连接()而不是重新连接()?

Java 连接到WiFi为什么。断开连接()而不是重新连接()?,java,android,wifi,disconnect,reconnect,Java,Android,Wifi,Disconnect,Reconnect,所有-我有一个应用程序,我希望用户能够连接到WiFi网络。我看了这一点,我的应用程序能够断开连接,然后重新连接(换句话说,我有正确的SSID和密码),但他的并不是我想要做的。如果没有连接,我只想连接,如果已经连接,我不想做任何事情。当我关闭WiFi(通过设置)并运行我的应用程序时,什么都没发生。所以我试过这个 WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); WifiConfiguration

所有-我有一个应用程序,我希望用户能够连接到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;

        }           
     }

尽管如此,这一改变并没有起到任何作用(即使在WiFi开启的情况下)。因此,我的问题是如果没有打开WiFi,我怎么能只打开WiFi,如果已经打开,我怎么能什么也不做(我知道我必须使用if语句,所以我只是在寻找WiFi特定的代码)?谢谢您的时间

你只是在问如何以编程方式打开android中的wifi吗

总结如下:

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

boolean wifiEnabled = wifiManager.isWifiEnabled();
if(!wifiEnabled){
    wifiManager.setWifiEnabled(true);
}

工作得很好。谢谢你的时间和努力!
wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE); 

boolean wifiEnabled = wifiManager.isWifiEnabled();
if(!wifiEnabled){
    wifiManager.setWifiEnabled(true);
}