WifiManager 의 enableNetwork(networkId, true)
메소드를 쓰면 접속이 됩니다.
이건 WifiConfiguration 의 설정 방법이라고 생각하시면 될것 같습니다.
첫 공통 부분입니다.
WifiConfiguration wfc = new WifiConfiguration(); |
| wfc.SSID = "\"" .concat(ssid).concat( "\"" ); |
| wfc.status = WifiConfiguration.Status.DISABLED; |
Capabilites 가 Open 일때 설정입니다. (한마디로 키값없이 바로 접속할수 있는거지요)wfc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE); |
| wfc.allowedProtocols.set(WifiConfiguration.Protocol.RSN); |
| wfc.allowedProtocols.set(WifiConfiguration.Protocol.WPA); |
| wfc.allowedAuthAlgorithms.clear(); |
| wfc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP); |
| wfc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40); |
| wfc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104); |
| wfc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP); |
| wfc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP); |
이제
WEP 방식 입니다.
wfc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE); |
| wfc.allowedProtocols.set(WifiConfiguration.Protocol.RSN); |
| wfc.allowedProtocols.set(WifiConfiguration.Protocol.WPA); |
| wfc.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN); |
| wfc.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED); |
| wfc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP); |
| wfc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40); |
| wfc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104); |
| wfc.wepKeys[ 0 ] = "\"" .concat(password).concat( "\"" ); |
그다음
WPA,
WPA2 방식입니다. 동일하네요 ^^
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(password).concat( "\"" ); |
위의 방식으로
WifiConfiguration 을 설정해주시고 아래의 방법으로
접속하시면 될겁니다.
WifiManager wfMgr = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); |
| int networkId = wfMgr.addNetwork(wfc); |