Xamarin 打开 WiFi 热点/接入点并获取网络名称和密码



我一直在寻找通过基于Xamarin的iOS和Android平台上的移动应用程序打开/关闭手机WiFi热点/接入点的能力。我看过WiFimanager,但它似乎只支持Android平台。

有人能建议是否可以提取手机的热点/接入点网络名称和密码,并能够打开/关闭它吗?

遗憾的是,iOS没有用于Wi-Fi扫描和配置的通用API。但是,有许多专用API,其中一个可能适合您的产品。

  • NEHotspotHelper-如果您的应用程序帮助用户浏览热点(用户必须与网络交互才能访问更广泛的互联网的Wi-Fi网络(,您应该查看网络扩展框架中的NEHotspot Helper。有关详细信息,请参阅热点网络子系统编程指南

重要:NEHotspotHelper要求您的应用程序具有特殊权限。

  • 另一个解决方案是使用私有库,但这将使您的应用程序被商店禁止。因此,如果您不打算在AppStore上提交应用程序,您可以使用此解决方案

更多专用API可以参考此Apple问答;A.

根据应用程序运行的Android版本,您可以关闭和打开WiFi。

在Android API上,最多,但不包括29(Android Q(,您可以通过在清单中请求以下权限:

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

然后呼叫:

WifiManager.FromContext(this).SetWifiEnabled(true);

然而,在安卓Q及以上版本上,你根本无法做到这一点。

对于iOS,您将无法做到这一点,因为它们不允许第三方应用程序更改WiFi状态。即使没有NEHotspotHelper权限。

最新更新