Xamarin.android 如何获取Wi-Fi网络的名称列表
如何获取Wi-Fi网络和信号的名称列表 我使用以下方法填充数组。 它只适用于低于5的Android版本。并且不适用于6或更高版本。 我想要所有版本的代码Xamarin.android 如何获取Wi-Fi网络的名称列表,xamarin.android,Xamarin.android,如何获取Wi-Fi网络和信号的名称列表 我使用以下方法填充数组。 它只适用于低于5的Android版本。并且不适用于6或更高版本。 我想要所有版本的代码 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> &l
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
List myListrow = new List();
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}"));
}
更新:
添加权限。访问权限\u位置权限。原始代码运行良好
用于列出所有名称的代码:
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);
}
}
截图:
您可以从下面的链接下载源文件。