Обновление:
Добавьте разрешение permission.ACCESS_COARSE_LOCATION
. Исходный код работает хорошо.
Код, используемый для перечисления всех имен:
void getWifiList() {
IList myListrow = new ArrayList();
var wifiMgr = (WifiManager)GetSystemService(WifiService);
var wifiList = wifiMgr.ScanResults;
foreach (var item in wifiList)
{
var wifiLevel = WifiManager.CalculateSignalLevel(item.Level, 100);
myListrow.Add(($"Wifi Name: {item.Ssid} - Single: {wifiLevel}"));
}
}
Код для запроса разрешения:
private void RequestPermission()
{
Log.Info(TAG, " permission has NOT been granted. Requesting permission.");
if (ActivityCompat.ShouldShowRequestPermissionRationale(this, Manifest.Permission.AccessCoarseLocation))
{
Snackbar.Make(layout, Resource.String.permission_accesscoarselocation_rationale,
Snackbar.LengthIndefinite).SetAction(Resource.String.ok, new Action<View>(delegate (View obj) {
ActivityCompat.RequestPermissions(this, new String[] { Manifest.Permission.AccessCoarseLocation }, REQUEST_LOCATION);
})).Show();
}
else
{
// AccessCoarseLocation permission has not been granted yet. Request it directly.
ActivityCompat.RequestPermissions(this, new String[] { Manifest.Permission.AccessCoarseLocation }, REQUEST_LOCATION);
}
}
Снимок экрана:
Вы можете скачать исходный файл по ссылке ниже. https://github.com/WendyZang/Test/tree/master/Wi-Fi%20network/GetNetWorkInfo