当前位置: 首页 > 知识库问答 >
问题:

连接到WiFi为什么. disconnect()比reconnect()?

薄兴昌
2023-03-14

所有-我有一个应用程序,我希望用户能够与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,我如何才能打开WiFi,如果已经打开则什么也不做(我知道我必须使用if语句,所以我只是在寻找WiFi特定代码)?谢谢您的时间!

共有1个答案

郜驰
2023-03-14

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

如何在Android设备上以编程方式关闭WiFi?

总结:

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

boolean wifiEnabled = wifiManager.isWifiEnabled();
if(!wifiEnabled){
    wifiManager.setWifiEnabled(true);
}
 类似资料:
  • 设置wifi账号和密码,连接特定的wifi网络。 请求方式: "|2|1|wifi_ssid,wifi_pwd|\r" 参数: wifi_ssid wifi账号的SSID wifi_pwd wifi账号密码 返回值: "|2|1|\r" wifi连接状态:wifi断开连接 "|2|2|\r" wifi连接状态:正在连接wifi "|2|3|ip|\r" wifi连接状态:wifi连接成功,返回OB

  • 问题内容: 我可以猜测浏览器已针对最新版本进行了优化,但是如何做到这一点呢?我们可以说串联字符串时最好使用吗? 更新资料 因此,在现代浏览器中,对字符串串联进行了优化,因此使用符号比要 串联 字符串时使用符号要快。 但是@Arthur指出,如果您实际上想使用分隔符连接字符串,则速度会更快。 问题答案: 浏览器字符串优化已更改了字符串串联图片。 Firefox是第一个优化字符串连接的浏览器。从1.0

  • 问题内容: 我拥有连接到特定访问点的所有详细信息。我只需要使用该访问点,因此我所需要的只是执行此操作的命令。 问题答案: 您可以自己(或在脚本中)将网络条目添加到wpa_supplicant.conf中,基本上手动进行一次连接,然后执行以下操作: 并将网络条目集成到脚本中以实现自动化。示例简单脚本:

  • 重新连接上一次连接的wifi。 请求方式: "|2|3|\r" 返回值: "|2|1|\r" wifi连接状态:wifi断开连接 "|2|2|\r" wifi连接状态:正在连接wifi "|2|3|ip|\r" wifi连接状态:wifi连接成功,返回OBLOQ的ip地址 "|2|4|\r" wifi连接状态:wifi连接失败,检查SSID和PWD是否输入正确 Arduino样例: softSer

  • 问题内容: 我正在研究Go中一个简单的链表实现,以进行学习。元素的定义如下: 如您所见,Value可以是满足空接口的任何值。现在,作为一项新功能,我要进行创建,以便在将新元素插入列表时,它以排序方式插入-每个元素将是<=下一个元素。 为了做到这一点,我编写了以下方法: 编译器抱怨这是公平的。因此,我知道在Element typedef中,我应该将Value限制为可以使用运算符进行比较的类型。我在研

  • 问题内容: 我正在尝试使用H2OR内的库在具有7000万行和25个数字特征的训练集上使用随机森林分类模型。总文件大小为5.6 GB。 验证文件的大小为1 GB。 我的系统上有16 GB RAM和8核CPU。 系统成功读取了H2O对象中的两个文件。 然后,我给出以下命令来构建模型: 但是几分钟(不生成任何树)后,出现以下错误: “ .h2o.doSafeREST中的错误(conn = conn,h2