2014-01-26 3 views
0

비밀번호가있는 wifiap을 만들었지 만 프로젝트의 경우 공개 네트워크를 만들고 싶습니다. 다음을 시도했지만 암호가 이미있는 경우에는 여전히 활성 상태입니다.열린 와이파이를 만들려면 어떻게해야합니까?

 Method getWifiConfig = mWifiManager.getClass().getMethod("getWifiApConfiguration",null); 
     WifiConfiguration wifiConf = (WifiConfiguration)getWifiConfig.invoke(mWifiManager, null); 
     wifiConf.SSID = "enny"; 
     //wifiConf.preSharedKey = "fuunnv12345"; 

     wifiConf.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN); 
     wifiConf.allowedProtocols.set(WifiConfiguration.Protocol.RSN); 
     wifiConf.allowedProtocols.set(WifiConfiguration.Protocol.WPA); 
     wifiConf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE); 
     Method setWifiConfig = mWifiManager.getClass().getMethod("setWifiApConfiguration",WifiConfiguration.class); 
     setWifiConfig.invoke(mWifiManager,wifiConf); 
     Method method = mWifiManager.getClass().getMethod("setWifiApEnabled", WifiConfiguration.class, boolean.class); 
     method.invoke(mWifiManager, null, enabled); 
+0

이 두 라인'wifiConf.allowedProtocols.set (WifiConfiguration.Protocol.RSN)를 제거하십시오; wifiConf.allowedProtocols.set (WifiConfiguration.Protocol.WPA)' 한 가지 더 시도 할 수는 비활성화 softAP (사실, WifiConfig)'(null이 false)를 setWifiApEnabled setWifiApEnabled 업데이트 설정'와'하고 다시 활성화입니다' – vishalm

+0

내가 시도 이,하지만 내 경우에는 도움이되지 않았다. – jonesw

답변

0

해결책을 찾았습니다. 이 대답에서 영감을 얻은 How to programmatically create and read WEP/EAP WiFi configurations in Android?은 wifiAP에서 wificonfiguration 정보를 얻었습니다. 이것은 Android에서 제공되는 일반적인 설정을 사용하여 wifiAP를 구성 할 때 어떤 필드가 true로 설정되었는지를 보여줍니다. 따라서 wifiAP을 잠긴 상태에서 열린 상태로 변경하려면 이러한 키를 false로 설정하십시오. 내 경우를 들어 내가 다음 매개 변수를 설정 :

wifiConf.preSharedKey = null; 
wifiConf.allowedKeyManagement.set(KeyMgmt.NONE); 
wifiConf.allowedKeyManagement.set(KeyMgmt.WPA2_PSK,false); 
wifiConf.allowedKeyManagement.set(KeyMgmt.WPA_PSK,false); 
관련 문제