我正在开发一个需要根据其属性连接到多个 Wi-Fi 接入点的应用程序。一个例子是选择更好的接入点来提高连接性。在新环境中可能无法提前知道接入点的详细信息。如何使用 Android 手机以编程方式查找接入点的属性(特别是名称和制造/制造、信号强度)?我可以知道接入点的制造商/制造商吗(以便它可以用来推断应用程序中相关的存储功能)?
问问题
761 次
1 回答
1
您可以使用库 'wifiManager' 找到 wifi 的全部详细信息
WifiManager wManager;
List<ScanResult> wifiList;
wManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
// Inside BroadcastReceiver()
wifiList = wManager.getScanResults();
for (int i=0; i<wifiList.size(); i++){
ScanResult scanresult = wManager.getScanResults().get(i);
System.out.println("SSID: "+ssid);
System.out.println("RSSI: "+scanresult.level);
System.out.println("Frequency: "+scanresult.frequency);
System.out.println("BSSID: "+scanresult.BSSID);
System.out.println("Capability: "+scanresult.capabilities);
}
这里的 RSSI 给出了以 db 为单位的信号强度,通常它在 0 到 -100 之间变化。还要检查 BroadcastReceiver()。
于 2013-08-09T10:22:22.017 回答