Как программно подключиться к сети Wi-Fi WPA2-PSK в Android?

Мне нужно программно подключиться к Wi-Fi (esp8266 nodeMCU) в Android. SSID этой сети - Hide, а безопасность - WPA2-PSK. также он не подключен к Интернету, это локальная сеть.

Я пробую этот код, но не могу подключиться к HotSpot. «enableNetworkBoolean» имеет значение «false». но я могу подключиться к точке доступа в настройках.

public class ConnWifi  {

public void Connect(Context context){
    WifiConfiguration config = new WifiConfiguration();
    config.SSID = ""reyhan112233"";
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        config.SSID = "reyhan112233";
    }
    config.preSharedKey = ""reyhan112233"";
    config.hiddenSSID = true;
    config.status = WifiConfiguration.Status.ENABLED;
    config.allowedGroupCiphers.set(WifiConfiguration.G  roupCipher.TKIP);
    config.allowedGroupCiphers.set(WifiConfiguration.G  roupCipher.CCMP);
    config.allowedKeyManagement.set(WifiConfiguration.  KeyMgmt.WPA_PSK);
    config.allowedPairwiseCiphers.set(WifiConfiguratio  n.PairwiseCipher.TKIP);
    config.allowedPairwiseCiphers.set(WifiConfiguratio  n.PairwiseCipher.CCMP);
    config.allowedProtocols.set(WifiConfiguration.Prot  ocol.RSN);
    config.allowedProtocols.set(WifiConfiguration.Prot  ocol.WPA);

    WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI  _SERVICE);

    int networkId = wifiManager.addNetwork(config);
    if (networkId != -1){
        connectWifi(config, wifiManager);
    }
}

private void connectWifi(WifiConfiguration config , WifiManager wifiManager) {
    wifiManager.disconnect();
    wifiManager.setWifiEnabled(true);
    boolean enableNetworkBoolean = wifiManager.enableNetwork(config.networkId, true);

    boolean reconnectBoolean = wifiManager.reconnect();
    boolean changeHappen = wifiManager.saveConfiguration();
    if (enableNetworkBoolean && reconnectBoolean && changeHappen){
    }
    else{

    }
}
but i cant Connect to HotSpot. в чем проблема? что происходит вместо этого?
Vladyslav Matviienko 01.05.2018 21:25

Предлагаю воспользоваться отладчиком и посмотреть логи. Попытайтесь увидеть, есть ли в журналах какие-либо ошибки, которые вы могли бы исправить. Если это по-прежнему не помогает, вы можете опубликовать здесь соответствующую часть журналов / ошибок с указанием того, что вы пытались исправить.

Yashovardhan99 01.05.2018 21:56

@VladyslavMatviienko: устройство не может подключиться к точке доступа, ошибок нет. но "enable Network Boolean" имеет значение "false". я могу подключиться к точке доступа в настройках.

radin 02.05.2018 07:14

@Yashovardhan Ошибок нет. но "enableNetworkBoolean" имеет значение "false". но я могу подключиться к точке доступа в настройках.

radin 02.05.2018 07:16
0
4
562
0

Другие вопросы по теме