0

我知道如何连接到接入点,但我不知道如何连接到最强的接入点,如果所有接入点都具有相同的 SSID。

我配置了这样的东西

WifiConfiguration conf = new WifiConfiguration();
conf.SSID = convertToQuotedString("XYZ");
conf.status = WifiConfiguration.Status.ENABLED;
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);

int netId = wifi.addNetwork(conf);

然后我说这样的话

List<WifiConfiguration> _configs = wifi.getConfiguredNetworks();
     for (WifiConfiguration config : _configs) { 
          if ( config.SSID.equalsIgnoreCase(convertToQuotedString("XYZ"))){
            boolean erg = wifi.enableNetwork(config.networkId, true);
            Log.d(TAG, "enabling configured Network: " + Boolean.toString(erg) + 
            " SSID=[" + config.SSID + "] and ID=[" + config.networkId );    
        }
}

现在的问题是?如何连接到具有相同 SSID 但信号更好的另一个接入点?

在 WifiConfiguration 中不可能告诉他这些,是吗?

我使用该方法找到了具有相同 SSID 的更好的接入点

WifiManager.compareSignalLevel(bestSignal.level, connectedAcc.level) <0

如果在 WifiConfiguration 中它们之间没有区别,我该如何连接到更好的,因为它们都具有相同的 SSID ?

我希望你能帮助我,非常感谢

4

2 回答 2

0

一旦你知道了最好的,你可以在相应的WifiConfiguration中更改优先级。

于 2012-05-16T16:17:27.130 回答
0

好吧,如果您仍然没有找到问题的答案,那么您可以执行以下操作 -

1)检查最佳信号的BSSID和您连接的设备是否相同。

a) 如果相同,则表示您已连接到具有最佳信号的 SSID,并且一切正常。

b) 如果不移动到第二步。

2) 使用 wifi.disconnect();

这将确保您目前没有连接到任何接入点。

3) 现在使用之前使用的 SSID 连接到接入点,它将连接到信号最强的接入点。

于 2013-01-31T10:06:50.660 回答