java - Android 网络未添加到 Wifi 列表

标签 java android

我正在使用一个函数将网络添加到 wifi 列表:

 public void connecttowifi(String networkSSID, String networkPass) {
        try {
            WifiConfiguration conf = new WifiConfiguration();
            conf.SSID = "\"" + networkSSID + "\"";
            conf.preSharedKey = "\""+ networkPass +"\"";
            conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
            WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);
            wifiManager.addNetwork(conf);
            List<WifiConfiguration> list = wifiManager.getConfiguredNetworks();
            for( WifiConfiguration i : list ) {
                if(i.SSID != null && i.SSID.equals("\"" + networkSSID + "\"")) {
                    wifiManager.disconnect();
                    wifiManager.enableNetwork(i.networkId, true);
                    wifiManager.reconnect();

                    break;
                }
            }

        } catch (Exception ex) {
            Log.d("Wifi exception is",ex.toString());
        }
    }

在 MainActivity.java 中我写道:

 connecttowifi("333","333");

网络未添加,未发现异常,有什么帮助吗?

最佳答案

也许你可以登录循环

打印所有已配置网络的 SSID

我猜这就是问题所在:

if(i.SSID != null && i.SSID.equals("\"" + networkSSID + "\""))

把“\”去掉到下面

if(i.SSID != null && i.SSID.equals(networkSSID))

希望这有帮助!!

关于java - Android 网络未添加到 Wifi 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34767560/

相关文章:

java - 迭代器是如何在 Java 中实现的?

java - 在 Java 中查找用户主目录的最佳方法是什么?

逗号而不是点的Java float

java - 创建自定义计划作业监视器 ATG

java - 方法参数的@Pattern注解

java - Android 由 : java. lang.RuntimeException 引起

java - Html.fromHtml() 强制不删除未知标签

java - 如何为我的整个应用程序设置默认手机字体

android - 通过语音获取用户输入

android - 将 Firebase DB 与本地数据库一起使用