2
항상 가장 강력한 액세스 포인트에 연결하는 프로그램을 작성 중입니다. 가장 강한 신호를 가진 액세스 포인트를 의미합니다. 먼저 사용 가능한 모든 무선 네트워크를 스캔 한 다음 동일한 SSID를 가진 무선 네트워크 만 볼 수 있도록 제한합니다.동일한 SSID로 가장 강력한 액세스 포인트 (신호가 가장 강한 액세스 포인트)에 연결
그래서 한 네트워크의 모든 AP를 볼 수 있습니다. 해당 네트워크에 연결할 때 가장 강한 신호에 연결하지 않지만 가장 강한 신호로 전환하려고합니다.
WifiManager.compareSignalLevel(bestSignal.level, connectedAP.level) <0
나는 가장 좋은 신호를 알고 있습니다.
if(WifiManager.compareSignalLevel(bestSignal.level, connectedAP.level) <0){
}
가장 강력한 AP (신호가 가장 강한 AP)에 연결하는 기능이 있다면 무엇을해야합니까?
다음은 내 코드 만에 신호를 추가 할 수있는 방법이 없습니다 : 당신은 또한 conf의와 BSSID를 추가해야
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;
}
}