我正在开发一个Android应用程序,应该连接到网络,并监测信号强度。我已经实现了连接和看到力量,但我不知道如何积极地“听到”和展示力量。这是我的监控方法:
public void search(View v) {
// Turn on wifi
if (!wifi.isWifiEnabled()) {
if (wifi.getWifiState() != WifiManager.WIFI_STATE_ENABLING) {
wifi.setWifiEnabled(true);
}
我可以使用以下代码在dBm中获得WiFi信号电平。
for (ScanResult result : wifiScanResultList) {
int signalLevel = result.level;
}
它给出了负值。当我们看到默认的系统WiFi设置并点击连接的WiFi网络时,它会给出“好”或“坏”作为信号强度。我们可以将这些负值过滤为“好”信号强度或“坏”信号强度的范围是多少?
我需要扫描无线网络。
How can I getRssi() of WiFi Scan Network (非连接wi-fi网络的扫描)
int level = WifiManager.calculateSignalLevel(wifi.getConnectionInfo().getRssi(),
results.get(i).level);
int difference = level * 100 / results.get(i).level;
我知道这篇文章,它描述了如何在C#中获得一个ssid。但是,dotnet核心不支持该库。有没有办法获得目前连接的无线网络适配器的ssid和信号强度在dotnet核心?我尝试过使用NetworkInterface命名空间(System.Net.NetworkInformation),这似乎至少给了我一些关于网络的诊断信息,但它肯定不包括ssid。你们觉得怎么样?这是否得到了支持?
我正在玩的代码如下。但这并不能满足我的需要。我主要是用它来探索调试器。
var interfaces = NetworkInterface.GetAllNetworkInterfaces();
var connecte
每当我关掉wifi,飞机模式就会自动打开。这是Ubuntu18.04中的一个bug吗?
关闭wifi后rfkill list的输出:
1: phy0: Wireless LAN
Soft blocked: yes
Hard blocked: no
2: brcmwl-0: Wireless LAN
Soft blocked: yes
Hard blocked: no
4: hci0: Bluetooth
Soft blocked: yes
Hard blocked: no