首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >wifiManager.addNetwork失败

wifiManager.addNetwork失败
EN

Stack Overflow用户
提问于 2015-03-12 22:43:54
回答 1查看 3.1K关注 0票数 4

我有一个服务器,它是另一个android设备。服务器启动一个wifi热点。在我的客户端,我尝试自动连接到热点。

我在onStart()中的一个新线程中调用这个函数:

代码语言:javascript
复制
private void enableWifi(){
    if(!wifiManager.isWifiEnabled()){
        wifiManager.setWifiEnabled(true);
        Log.i("Wifi", "Wifi enabled");
    }
    if(getNetworkId() == -1){
        addNetwork();
    }
    while(!isConnected(context)){
        wifiManager.disconnect();
        wifiManager.enableNetwork(getNetworkId(),true);
        wifiManager.reconnect();
        Log.i("Wifi", "Connecting to Hotspot");
        try {
            Thread.sleep(TIMEOUT);
        } catch (InterruptedException e) {
            Log.e("Wifi", "Thread interrupted: " + e);
        }
    }

    Log.i("Wifi", "Connected to Hotspot");
}

private int getNetworkId(){
    List<WifiConfiguration> list = wifiManager.getConfiguredNetworks();
    for( WifiConfiguration i : list ) {
        if(i.SSID != null && i.SSID.equals("\"" + wifiName + "\"")) {
            return i.networkId;
        }
    }
    return -1;
}

private void addNetwork(){
    WifiConfiguration wifiConfiguration = new WifiConfiguration();
    wifiConfiguration.SSID = "\\" + wifiName + "\\";
    wifiConfiguration.preSharedKey = "\\" + wifiPassword + "\\";
    wifiManager.addNetwork(wifiConfiguration);
    Log.i("Wifi", "Added Hotspot to configured Networks");
}

wifiManager.addNetwork()返回-1

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-12 23:42:02

看起来您的问题是在SSID和密码中使用反斜杠而不是引号。

试试这个:

代码语言:javascript
复制
wifiConfiguration.SSID = "\"" + wifiName + "\"";
wifiConfiguration.preSharedKey = "\"" + wifiPassword + "\"";
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29021699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档