gpt4 book ai didi

android - 连接到具有相同 SSID 的最强接入点(信号最强的接入点)

转载 作者:行者123 更新时间:2023-11-29 01:12:46 26 4
gpt4 key购买 nike

我正在编写一个始终连接到最强接入点的程序。我的意思是信号最强的接入点。首先,我扫描所有可用的 WiFi 网络,然后限制它们只查看具有相同 SSID 的网络。

所以我可以看到一个网络的所有 AP。当我连接到该网络时,它没有连接到最强的信号,但我希望它切换到最强的 AP 信号。通过

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

我了解最好的信号。

if(WifiManager.compareSignalLevel(bestSignal.level, connectedAP.level) <0){

}

问题是这个if函数连接最强AP(信号最强的AP)怎么办?

下面是我的代码,但无法向其添加信号:

    WifiConfiguration conf = new WifiConfiguration();
conf.SSID = "\"" + bestSignal.SSID + "\"";
// I want to connect to the access point with signal bestSignal.level
//how is it possible?



conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
wifiManager.addNetwork(conf);
List<WifiConfiguration> list =wifiManager.getConfiguredNetworks();
for( WifiConfiguration i : list ) {
if(i.SSID != null &&
i.SSID.equals("\"" + bestSignal.SSID + "\"")) {
wifiManager.disconnect();
wifiManager.enableNetwork(i.networkId, true);
wifiManager.reconnect();

break;
}
}

最佳答案

您还应该在 conf 中添加 BSSID。即使不同的网络具有相同的 SSID,它们也会有不同的 BSSID。添加该行即可。

WifiConfiguration conf = new WifiConfiguration();
conf.SSID = "\"" + bestSignal.SSID + "\"";
conf.BSSID= "\"" + bestSignal.BSSID+ "\"";

关于android - 连接到具有相同 SSID 的最强接入点(信号最强的接入点),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41788364/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com