我正在构建一个应用程序,读取每个可用WiFi接入点的信号强度。
我写过这样的代码:
wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
// Get WiFi status
WifiInfo info = wifi.getConnectionInfo();
textStatus.append("\n\nWiFi Status: " + info.toString());
// List available networks
List<WifiConfiguration> configs = wifi.getConfiguredNetworks();
但是,我有两个问题:
在调试中,
configs
只包含一个连接。但是,我可以看到系统的wifi设置中有几个可用的ap。即configs
是一个不完整的列表。我不知道如何得到
WifiConfiguration
中的信号强度。顺便说一下,我使用的是HTC英雄和Android 1.5。
最佳答案
根据android api文档WifiManager.getConfiguredNetworks()没有填充信号强度参数。此数据仅表示记住的访问点设置,而不是可见的访问点设置。
要获得实际可见的网络,您必须调用WifiManager.startScan()启动WiFi无线电扫描,并在一段时间后调用WifiManager.getScanResults()以获得扫描结果。
关于android - 如何获得Wifi接入点的连接强度?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3437694/