Android Wifi配置
Android WifiConfiguration
我正在尝试连接到一个特定的 BSSID,结果出现了问题。我在 ScanResult
中获得了我想要连接的 BSSID。然后我将其传递给一个函数,该函数将使用 BSSID 设置 WifiConfiguration
并连接到它。但是,设备实际上并没有连接到这个网络。
为了查看发生了什么,我通过遍历 WifiManager
的 getConfiguredNetworks()
函数打印出所有配置的网络,我看到几乎所有配置的网络都有 null
作为 BSSID,即使是我手动配置的那个。还有一个网络将 any
作为其 BSSID 条目。
WifiConfiguration
中的 BSSID 字段究竟是什么意思?文档指出:
public String BSSID
When set, this network configuration entry should only be used when associating with the AP having the specified BSSID. The value is a string in the format of an Ethernet MAC address, e.g., XX:XX:XX:XX:XX:XX where each X is a hex digit.
any
和 null
当然不是那种格式。这是我用来打印的代码:
for (WifiConfiguration config : wifiManager.getConfiguredNetworks()) {
Log.d("TEST", config.BSSID + " " + config.status + " " + config.priority + " " + config.SSID);
}
编辑:我在制作 WifiConfiguration 时将 toString()
添加到我的打印语句中。调用 configuration.BSSID
returns null
而 toString
会给我一个 BSSID。这是怎么回事?
好吧,似乎出于某种原因 Android 如果您设置了 BSSID 而没有设置 SSID,那会吓坏了。设置 SSID 也会导致 BSSID 正常显示。
我正在尝试连接到一个特定的 BSSID,结果出现了问题。我在 ScanResult
中获得了我想要连接的 BSSID。然后我将其传递给一个函数,该函数将使用 BSSID 设置 WifiConfiguration
并连接到它。但是,设备实际上并没有连接到这个网络。
为了查看发生了什么,我通过遍历 WifiManager
的 getConfiguredNetworks()
函数打印出所有配置的网络,我看到几乎所有配置的网络都有 null
作为 BSSID,即使是我手动配置的那个。还有一个网络将 any
作为其 BSSID 条目。
WifiConfiguration
中的 BSSID 字段究竟是什么意思?文档指出:
public String BSSID
When set, this network configuration entry should only be used when associating with the AP having the specified BSSID. The value is a string in the format of an Ethernet MAC address, e.g., XX:XX:XX:XX:XX:XX where each X is a hex digit.
any
和 null
当然不是那种格式。这是我用来打印的代码:
for (WifiConfiguration config : wifiManager.getConfiguredNetworks()) {
Log.d("TEST", config.BSSID + " " + config.status + " " + config.priority + " " + config.SSID);
}
编辑:我在制作 WifiConfiguration 时将 toString()
添加到我的打印语句中。调用 configuration.BSSID
returns null
而 toString
会给我一个 BSSID。这是怎么回事?
好吧,似乎出于某种原因 Android 如果您设置了 BSSID 而没有设置 SSID,那会吓坏了。设置 SSID 也会导致 BSSID 正常显示。