在 Xamarina 中是否可以获取有关附近所有可用 wifi 信号强度的信息?我正在开发一个应用程序,用于收集和处理有关附近 WiFi 网络的信息。我还想在无需连接到给定网络的情况下获取此信息。
修复(不允许应用程序执行扫描):
//Define permissions
private string[] permissions = new string[]
{
Android.Manifest.Permission.AccessFineLocation
};
//Permission check
ActivityCompat.RequestPermissions(this, permissions, 0);
Run Code Online (Sandbox Code Playgroud)
在 Xamarin.Android 中,您可以使用下面的代码获取 Wifi 连接及其强度(从 0 到 100)。
using Android.Net.Wifi;
...
var wifiMgr = (WifiManager)GetSystemService(WifiService);
var wifiList = wifiMgr.ScanResults;
foreach (var item in wifiList)
{
var wifiLevel = WifiManager.CalculateSignalLevel(item.Level, 100);
Console.WriteLine($"Wifi SSID: {item.Ssid} - Strengh: {wifiLevel}");
}
Run Code Online (Sandbox Code Playgroud)
您需要将这两个权限添加到清单中:
ACCESS_FINE_LOCATION 和ACCESS_WIFI_STATE
并确保您请求ACCESS_FINE_LOCATION.
希望这可以帮助。-
| 归档时间: |
|
| 查看次数: |
2610 次 |
| 最近记录: |