Мне нужно программно подключиться к 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{
}
}
Предлагаю воспользоваться отладчиком и посмотреть логи. Попытайтесь увидеть, есть ли в журналах какие-либо ошибки, которые вы могли бы исправить. Если это по-прежнему не помогает, вы можете опубликовать здесь соответствующую часть журналов / ошибок с указанием того, что вы пытались исправить.
@VladyslavMatviienko: устройство не может подключиться к точке доступа, ошибок нет. но "enable Network Boolean" имеет значение "false". я могу подключиться к точке доступа в настройках.
@Yashovardhan Ошибок нет. но "enableNetworkBoolean" имеет значение "false". но я могу подключиться к точке доступа в настройках.
but i cant Connect to HotSpot.
в чем проблема? что происходит вместо этого?