나는 안드로이드 폰이 하나의 와이파이 네트워크에서 다른 와이파이 네트워크로 신속하게 전환 할 것을 요구하는 오디오 통신 애플리케이션을 개발 중이다. 현재, 내 코드는 이미 환경에 존재하며 미리 구성된 WiFi 네트워크를 7 초에서 15 초 사이에서 전환 할 수 있습니다. 전환하기 위해이 시간을 단축 할 수 있습니까? 사용자가 한 WiFi 네트워크에서 다음 WiFi 네트워크로 로밍 할 때 어떤 일시 중지도 들리지 않도록 15 초 이상 오디오를 버퍼링해야합니다.가장 빠른 와이파이 액세스 포인트 스위칭
private void SwitchWifi(){
int myBestNetworkStrength = -60;
int myBestNetworkID = -1;
List<WifiConfiguration> currentConfig = myManager.getConfiguredNetworks();
if(myManager.startScan()){
if(myNetworks==null){
Initialize();
}
List<ScanResult> wifiList = myManager.getScanResults();
for(int i = 0; i < wifiList.size(); i++){
for(int j = 0; j < myNetworks.size(); j++){
if(wifiList.get(i).SSID.matches(myNetworks.get(j).mySSID)){
if(myBestNetworkStrength < wifiList.get(i).level){
for(int k = 0; k < currentConfig.size(); k++){
DebugScreen.AddLog("WIFIswitch", "k = " + currentConfig.get(k).SSID);
if(currentConfig.get(k).SSID.matches("\"" + wifiList.get(i).SSID+ "\"")){
myBestNetworkID = k;
myBestNetworkStrength = wifiList.get(i).level;
}
}
}
}
}
}
}//
DebugScreen.AddLog("WIFIswitch", "Best network strength is " + Integer.toString(myBestNetworkStrength) + " with network #" + Integer.toString(myBestNetworkID));
if(myBestNetworkID != -1){
MailService.is_Waiting_For_New_Connection = true;
while(!MailService.has_Entered_Pause_Loop){
if(!isAlive())
return;
}
myManager.disconnect();
myManager.enableNetwork(myBestNetworkID, true);
myManager.reconnect();
MailService.is_Waiting_For_New_Connection = false;
}
}
연결 시도가 성공했다고 가정하지 않고 반환 값을 캡처해야합니다. – Brian