【发布时间】:2021-01-28 18:02:51
【问题描述】:
我在以编程方式将我的设备连接到特定 SSID 时遇到问题。 我特别注意到: 如果我手动将设备连接到 SSID(用我的小指向下滑动,胆怯地点击 SSID),那么我连接到该 SSID 的代码就可以工作了。 如果 SSID 是我的设备以前从未连接过的新 SSID,则代码不起作用,但如果手动连接有效。 这太奇怪了,我不知道如何解决。
我正在使用 Xamarin.Forms 和 Xamarin.Android,以及 Android 9.0 API 28 - Pie。
有我用来(尝试)连接的代码:
public int ConnectToSSID(string SSID, string password)
{
var wifiConfiguration = new WifiConfiguration();
wifiConfiguration.Ssid = '"' + SSID + '"';
if (password.Length > 0)
{
wifiConfiguration.PreSharedKey = '"' + password + '"';
}
if (wifiManager == null)
{
wifiManager = (WifiManager)context.GetSystemService(Context.WifiService);
}
wifiManager.AddNetwork(wifiConfiguration);
IList<WifiConfiguration> list = wifiManager.ConfiguredNetworks;
foreach (WifiConfiguration conf in list)
{
if (conf.Ssid.Equals('"' + SSID +'"'))
{
wifiManager.Disconnect();
wifiManager.EnableNetwork(conf.NetworkId, true);
wifiManager.Reconnect();
return 1;
}
}
return 0;
}
【问题讨论】:
标签: c# android visual-studio xamarin.android