private void connectToWifi(string wifiSSID)
{
String SSID = "";
bool connected = false;
bool hasEverConnected = false;
int NetworkId = 0;
try
{
using (Android.Net.Wifi.WifiManager wifi = (Android.Net.Wifi.WifiManager)context.ApplicationContext.GetSystemService(Context.WifiService))
{
if (wifi != null && wifi.IsWifiEnabled)
{
using (WifiInfo wifiInfo = wifi.ConnectionInfo)
{
if (wifiInfo != null)
{
using (NetworkInfo.DetailedState state = WifiInfo.GetDetailedStateOf(wifiInfo.SupplicantState))
{
if (state == NetworkInfo.DetailedState.Connected || state == NetworkInfo.DetailedState.ObtainingIpaddr)
{
SSID = wifiInfo.SSID.Replace("\"", "").Trim();
SSID = SSID.Replace(" ", "");
if (SSID == wifiSSID.Trim().Replace(" ", ""))
{
connected = true;
}
}
}
}
}
IList\\ wifiScanList = wifi.ConfiguredNetworks;
for (int i = 0; i \ {
if (((wifiScanList[i]).ToString()).Contains("hasEverConnected: true"))
{
String cw = wifiScanList[i].Ssid.Replace("\"", "").Trim();
cw = cw.Replace(" ", "");
if (cw == wifiSSID.Trim().Replace(" ", ""))
{
NetworkId = wifiScanList[i].NetworkId;
hasEverConnected = true;
break;
}
}
}
}
}
}
catch (Exception e)
{
}
var nxact = new Intent(Application.Context, typeof(ConnectActivity));
nxact.PutExtra("SSID", wifiSSID);
nxact.PutExtra("connected", connected);
nxact.PutExtra("hasEverConnected", hasEverConnected);
nxact.PutExtra("NetworkId", NetworkId);
context.StartActivity(nxact);
activity.Finish();
}