如何知道我的设备在Xamarin中连接的WiFi SSID?
我有一个需要连接到特定网络的应用程序。我已经有一个代码强制该设备连接到该网络,但是每次我打开另一个屏幕时,都会重复该过程,并且需要2或3秒钟。因此,与其强迫每次我想在那一刻的网络中询问什么时间,因此,如果它是不正确的网络,它必须连接到正确的网络,如果它在正确的网络中,则没有做任何事情。如何获取网络的名称?
以下是我正在使用的代码,但是当我调试时,它说SSID名称为“<未知的ssid>”,因此,每次我检查名称是否正确时,它都会说是错误的,并且它再次连接到网络。
public static string GetSSID() {
WifiManager wifiManager = (WifiManager)(Android.App.Application.Context.GetSystemService(Context.WifiService));
if (wifiManager != null && !string.IsNullOrEmpty(wifiManager.ConnectionInfo.SSID))
{
return wifiManager.ConnectionInfo.SSID;
}
else
{
return "WiFiManager is NULL";
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先,您需要授予该应用程序有关该位置的许可。
然后,您需要通过
activityCompat.requestpermissions
授予Permisson,然后再获取WiFi信息。有关运行时间许可的官方文件:
此外,您还可以尝试以下代码以在授予许可后获取SSID。
At first, you need to grant the app the permission about the location.
And then you need to grant the permisson by the
ActivityCompat.RequestPermissions
before you get the information of the wifi.The official document about run-time permission:
https://learn.microsoft.com/en-us/xamarin/android/app-fundamentals/permissions?tabs=windows
In addition, you can also try the following code to get the SSID after the permission granting.