【问题标题】:Android WifiConfigurationAndroid Wifi配置
【发布时间】:2015-07-09 17:32:34
【问题描述】:

我正在尝试连接到特定的 BSSID,但结果证明这是有问题的。我在ScanResult 中获得了我想连接的 BSSID。然后我将它传递给一个函数,该函数将使用 BSSID 设置 WifiConfiguration 并连接到它。但是,该设备实际上并未连接到此网络。

为了查看发生了什么,我通过循环 WifiManagergetConfiguredNetworks() 函数打印出所有已配置的网络,我看到几乎所有已配置的网络都将 null 作为 BSSID,甚至我手动配置的那个。还有一个网络以 any 作为其 BSSID 条目。

WifiConfiguration 中的 BSSID 字段究竟是什么意思?文档指出:

公共字符串 BSSID

设置后,此网络配置条目应仅在与具有指定 BSSID 的 AP 关联时使用。该值是以太网 MAC 地址格式的字符串,例如 XX:XX:XX:XX:XX:XX 其中每个 X 是一个十六进制数字。

anynull 肯定不是那种格式。这是我用来打印的代码:

for (WifiConfiguration config : wifiManager.getConfiguredNetworks()) {
    Log.d("TEST", config.BSSID + " " + config.status + " " + config.priority + " " + config.SSID);
}

编辑:我在制作 WifiConfiguration 时将toString() 添加到我的打印语句中。调用configuration.BSSID 返回nulltoString 给我一个BSSID。这是怎么回事?

【问题讨论】:

    标签: android networking wifi


    【解决方案1】:

    好吧,如果您设置了 BSSID 而没有 SSID,Android 似乎出于某种原因会发疯。设置 SSID 也会导致 BSSID 正常显示。

    【讨论】:

    • 就我而言,我同时设置了 SSID 和 BSSID。但是保存的配置只有SSID,BSSID为空。
    猜你喜欢
    • 1970-01-01
    • 2011-10-09
    • 1970-01-01
    • 1970-01-01
    • 2023-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多