【发布时间】:2015-07-09 17:32:34
【问题描述】:
我正在尝试连接到特定的 BSSID,但结果证明这是有问题的。我在ScanResult 中获得了我想连接的 BSSID。然后我将它传递给一个函数,该函数将使用 BSSID 设置 WifiConfiguration 并连接到它。但是,该设备实际上并未连接到此网络。
为了查看发生了什么,我通过循环 WifiManager 的 getConfiguredNetworks() 函数打印出所有已配置的网络,我看到几乎所有已配置的网络都将 null 作为 BSSID,甚至我手动配置的那个。还有一个网络以 any 作为其 BSSID 条目。
WifiConfiguration 中的 BSSID 字段究竟是什么意思?文档指出:
公共字符串 BSSID
设置后,此网络配置条目应仅在与具有指定 BSSID 的 AP 关联时使用。该值是以太网 MAC 地址格式的字符串,例如 XX:XX:XX:XX:XX:XX 其中每个 X 是一个十六进制数字。
any 和 null 肯定不是那种格式。这是我用来打印的代码:
for (WifiConfiguration config : wifiManager.getConfiguredNetworks()) {
Log.d("TEST", config.BSSID + " " + config.status + " " + config.priority + " " + config.SSID);
}
编辑:我在制作 WifiConfiguration 时将toString() 添加到我的打印语句中。调用configuration.BSSID 返回null 而toString 给我一个BSSID。这是怎么回事?
【问题讨论】:
标签: android networking wifi