使用 Xamarin Forms 的可用 wifi 连接列表



我正在寻找一个示例来列出使用 Xamarin 窗体提供的所有 wifi 连接。

我找到的所有示例都是检查当前连接是打开还是关闭。但我想列出所有可用的连接并获取有关它们的所有信息。

我不确定这个插件"Plugin.Connectivity"是否可以帮助我,但它是我离目标越近。

不幸的是,连接(现在是Xamarin.Essentials的一部分(插件对此没有帮助。它只允许您查看您是否有联系并告诉您一些相关信息。

据我所知,没有用于此的库,您必须为此编写自定义代码。我不确定你针对什么平台,我会假设iOS和Android。

对于iOS,您可能希望查看NEHotspotHelper并列出SupportedNetworkInterfaces属性。并做这样的事情:

foreach (var network in NEHotspotHelper.SupportedNetworkInterfaces)
Console.WriteLine(network.Ssid);

不要忘记在 Entitlements.plist 中启用 NetworkExtensions 授权

对于Android,代码可能如下所示:

WlanClient client = new WlanClient();
foreach ( WlanClient.WlanInterface wlanIface in client.Interfaces )
{
// Lists all networks
Wlan.WlanAvailableNetwork[] networks = wlanIface.GetAvailableNetworkList( 0 );
foreach ( Wlan.WlanAvailableNetwork network in networks )
{
Console.WriteLine( "Found network with SSID {0}.", GetStringForSSID(network.dot11Ssid));
}
}

在Android上,您需要额外的权限才能执行此操作。

若要使其适合窗体,请将其包装到依赖项服务中,然后来回移动所需的信息。

最新更新