안드로이드 개발 질문/답변
(글 수 45,052)
선 검색 하엿으나 원하는 대답이 없어 다시 글을 올리게 되었습니다.
리스트 뽑는건 예제 소스도 있구 해서
쉽게 했습니다. 그런데 스캔한 그 정보를 가지고 접속을 해야 하는데
어떻게 해야 할지 감이 안잡힙니다.
그리고 이게 암호가 걸려 잇는지 아닌지 어떻게 구별해야 할까요??
작은 답변이라도 저에겐 힘이 됩니다. ㅠㅠ
답변 미리 감사드립니다.
좋은 하루 되세요 ^^
2010.06.18 13:04:15
자답입니다.
이답때문에 저처럼 고생하시는 분이 없었으면 좋겠네요... ;;
이틀동안 구글링 한 덕분에 찾았네요 ㅎ
WifiManager 의 enableNetwork(networkId, true)
메소드를 쓰면 접속이 됩니다.
중간 생략하구..(나머진 검색하면 바로바로 나와서요 ^^;;)
이건 WifiConfiguration 의 설정 방법이라고 생각하시면 될것 같습니다.
첫 공통 부분입니다.
Capabilites 가 Open 일때 설정입니다. (한마디로 키값없이 바로 접속할수 있는거지요)
이제 WEP 방식 입니다.
그다음 WPA, WPA2 방식입니다. 동일하네요 ^^
위의 방식으로 WifiConfiguration 을 설정해주시고 아래의 방법으로 접속하시면 될겁니다.
저도 모자란지라 어떻게 알기 쉽게 설명이 잘 안되네요 ㅇ_ㅇ.. 많은 분들에게 도움이 됐으면 하는 맘입니다
수고하세요~ ^^
이답때문에 저처럼 고생하시는 분이 없었으면 좋겠네요... ;;
이틀동안 구글링 한 덕분에 찾았네요 ㅎ
WifiManager 의 enableNetwork(networkId, true)
메소드를 쓰면 접속이 됩니다.
중간 생략하구..(나머진 검색하면 바로바로 나와서요 ^^;;)
이건 WifiConfiguration 의 설정 방법이라고 생각하시면 될것 같습니다.
첫 공통 부분입니다.
WifiConfiguration wfc = new WifiConfiguration(); |
|
|
|
wfc.SSID = "\"" .concat(ssid).concat( "\"" ); |
|
wfc.status = WifiConfiguration.Status.DISABLED; |
|
wfc.priority = 40 ; |
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( "\"" ); |
|
wfc.wepTxKeyIndex = 0 ; |
그다음 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); |
|
if (networkId != - 1 ) { |
|
// success, can call wfMgr.enableNetwork(networkId, true) to connect |
|
} |
저도 모자란지라 어떻게 알기 쉽게 설명이 잘 안되네요 ㅇ_ㅇ.. 많은 분들에게 도움이 됐으면 하는 맘입니다
수고하세요~ ^^
해결되시면 방법즘 공유해주시면 감사드리겠습니다..ㅎㅎ
자세히 아는건 없어 도움은 못드리겠으나..
http://www.androidpub.com/?_filter=search&mid=android_dev_qna&search_target=title&search_keyword=AP&page=4&division=-448351&last_division=-37787&document_srl=338317
여기 질문과 비슷하네요...
참고 하셔도 좋은듯 하네요