Я пытаюсь подключиться к HotSpot, созданному на другом устройстве, с помощью класса WifiManager. Я прошел через и использовал код из этого answer. Так, наконец, мой код выглядит следующим образом:Невозможно подключиться к сети WIFI
for(ScanResult i : list) {
Toast.makeText(context, i.SSID, Toast.LENGTH_SHORT).show();
if(i.SSID != null && (i.SSID.startsWith("SMSKCM877-") && i.SSID.endsWith("-MSDBP2016"))) {
// Toast.makeText(context, "Found Match", Toast.LENGTH_SHORT);
conf.SSID="\""+i.SSID+"\"";
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
wifiManager.addNetwork(conf);
int networkID=wifiManager.addNetwork(conf);
wifiManager.disconnect();
wifiManager.enableNetwork(networkID, true);
wifiManager.reconnect();
String ipStr="";
DhcpInfo sinfo=wifiManager.getDhcpInfo();
int ip=sinfo.serverAddress;
ipStr = String.format("%d.%d.%d.%d",
(ip & 0xff),
(ip >> 8 & 0xff),
(ip >> 16 & 0xff),
(ip >> 24 & 0xff));
Log.e("sg", ipStr);
Toast.makeText(context, ipStr+"", Toast.LENGTH_LONG).show();
startConnect s=new startConnect(ipStr,context);
s.execute();
return true;
}
}
Но проблема я столкнулся в том, что, когда я пытаюсь подключиться к впервые ipstr
генерируется всегда 0.0.0.0. Повторная попытка несколько раз дает мне правильный адрес, и после этого все идет гладко. Любая идея, почему эта проблема возникает?
Заранее спасибо.