2012-10-18 5 views
2

가능한 중복 : 내가 거기 이와 같은 몇 가지 질문이 있습니다하지만 난 이미 내가 유래 및 다른 사이트에있는 모든 노력을 알고
How to connect to a specific wifi network in android programmatically?안드로이드에 지정된 무선 네트워크에 연결

하지만, 아무것도 내 문제를 해결하지 못했습니다.

하나의 장치에서 액세스 포인트를 만들고 있는데 다른 장치에서 프로그래밍 방식으로 연결하려고합니다. WifiConfiguration은 두 장치에서 모두 동일합니다. 네트워크를 찾을 수는 있지만 네트워크에 연결되지 않습니다! AP가 문제가 아니라는 것을 확신합니다. 기본 안드로이드 와이파이 설정 (손으로 비밀번호를 입력하는 등)을 통해 연결할 수 있기 때문입니다. 네트워크가 startScan을 통해 발견되면

는 //(), 나는 연결을 시도 :

WifiConfiguration wc=new WifiConfiguration(); 
wc.SSID="\"my_ssid\""; 
wc.preSharedKey = "\"my_password\""; 
wc.status = WifiConfiguration.Status.ENABLED; 
wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP); 
wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP); 
wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK); 
wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP); 
wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP); 
wc.allowedProtocols.set(WifiConfiguration.Protocol.RSN); 
wc.allowedProtocols.set(WifiConfiguration.Protocol.WPA); 

int netId=wifi.addNetwork(wc); 
wifi.enableNetwork(netId, true); 

addNetwork()가 유효한 네트워크 ID를 반환합니다. 나는 어떤 오류도 내지 않는다. 그냥 연결되지 않습니다.

이미 WifiConfiguration을 OPEN (으)로 변경하려고했지만 다른 여러 가지가 있지만 작동하지 않습니다. Wi-Fi도 사용할 수 있습니다. 누군가 이걸 가지고 나를 도울 수 있다면 매우 감사 할 것입니다.

답변

2

연속 시도/실패 테스트 후 해결책을 얻었습니다. SSID와 비밀번호 (미리 공유 한 키)는 따옴표 사이 여야합니다. 클라이언트 측에서만!. AP 의 Wificonfiguration에있는 SSID와 암호에는 따옴표이 필요하지 않습니다.

변경 후, 작동하기 시작했습니다.

매일 나는 안드로이드에서 이런 종류의 "마법사"솔루션에 더 실망합니다 ....

관련 문제