【问题标题】:Connect to WiFi why .disconnect() than reconnect()?连接到 WiFi 为什么 .disconnect() 而不是 reconnect()?
【发布时间】:2012-07-27 16:41:27
【问题描述】:

所有- 我有一个应用程序,我希望用户能够在其中连接 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 特定的代码)?谢谢你的时间!

【问题讨论】:

    标签: java android wifi disconnect reconnect


    【解决方案1】:

    您只是在问如何以编程方式在 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);
    }
    

    【讨论】:

    • 工作得很好。感谢您的时间和精力!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-11
    • 1970-01-01
    • 2016-09-22
    • 2016-06-13
    • 1970-01-01
    • 2012-04-17
    • 2011-10-31
    相关资源
    最近更新 更多