首页 文章

连接到WiFi为什么.disconnect()而不是重新连接()?

提问于
浏览
0

全部 - 我有一个应用程序,我希望用户能够连接到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打开时) . 所以我的问题是 how can I just turn WiFi on if not on already and do nothing if already on (I know I have to use if statements so I am just looking for the WiFi specific code)? 谢谢你的时间!

1 回答

  • 2

    你只是想问一下如何以编程方式打开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);
    }
    

相关问题