Android WifiConfiguration
Я пытаюсь подключиться к конкретному BSSID, что оказывается проблематичным. Я получаю BSSID, к которому хочу подключиться в ScanResult
, Затем я передаю это в функцию, которая настроит WifiConfiguration
используя BSSID и подключитесь к нему. Однако устройство на самом деле не подключается к этой сети.
Чтобы увидеть, что происходит, я распечатал все настроенные сети, просматривая WifiManager
"s getConfiguredNetworks()
функция, и я вижу, что почти все настроенные сети имеют null
в качестве BSSID, даже тот, который я настроил вручную. Есть также одна сеть, которая имеет any
как его запись BSSID.
Что именно делает поле BSSID в WifiConfiguration
имею в виду? В документации говорится:
public String BSSID
Когда установлено, эта запись конфигурации сети должна использоваться только при связывании с AP, имеющей указанный BSSID. Значение представляет собой строку в формате MAC-адреса Ethernet, например, 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);
}
Изменить: я добавил toString()
к моему заявлению печати, когда я делаю WifiConfiguration. призвание configuration.BSSID
возвращается null
в то время как toString
дает мне BSSID. Что тут происходит?
1 ответ
Ну, кажется, что по какой-то причине Android волнуется, если вы установили BSSID, а не SSID. Установка SSID также приводит к тому, что BSSID отображается как следует.