private boolean WifiConnect(String SSID,String PW)
{
WifiConfiguration wfc = null;
SSID = "\"".concat(SSID).concat("\"");
List<WifiConfiguration> networks = wfMgr.getConfiguredNetworks();
boolean detected = false;
boolean Success = false;
String temp = null;
for(WifiConfiguration Wfcon : networks)
{
temp = Wfcon.SSID;
if(temp.equals(SSID))
{
detected = true;
wfc = Wfcon;
break;
}
}
if(!detected)
{
wfc = new WifiConfiguration();
wfc.SSID = SSID;
}
wfc.status = WifiConfiguration.Status.DISABLED;
wfc.priority = 40;
wfc.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
wfc.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
wfc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
wfc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
wfc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
wfc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
wfc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
wfc.preSharedKey ="\"".concat(PW).concat("\"");
int networkId = wfMgr.addNetwork(wfc);
if(networkId !=-1){
Success = wfMgr.enableNetwork(networkId,true);
return Success;
}
return false;
연결하고자 하는 Wi-Fi SSID와 PW를 받아서 다음과 같이
연결 시도를 하고있는데요 기존에 인터넷에 돌아다니던
글을 보고 했는데 addNetwork부분에서 해당 ID 값을
받는데 까지 성공하고 wfMgr.enableNetwork부분에서
true 값을 받습니다 그런데도 Ap에 연결이 되지않고
Wi-Fi에 직접 들어가서 연결을 눌리더라도 들어가지지 않습니다.
이 때 비밀번호 등은 모두 저장이 되어있는데 Wi-Fi 설정을 지우고
나서 소스 코드로 저렇게 연결을 하는게 아니라 평상시
그냥 Wi-Fi 접속을 하듯이 수동으로 비밀번호를 쳐서
연결을 하면 연결이 잘됩니다.
무슨 문제 때문에 연결이 되지 않는 걸까요 . . ?