안드로이드 개발 질문/답변
(글 수 45,052)
android.net.wifi.* 에서
WifiManager 안에
쭉~ 훑어 보았는대
특정 AP에 접속을 하게 하는
함수가 안보이던데요...
내가 원하는 ap로 접속을 하게 코딩 할려면 어떻게 해야하나요??
WifiManager 안에
쭉~ 훑어 보았는대
특정 AP에 접속을 하게 하는
함수가 안보이던데요...
내가 원하는 ap로 접속을 하게 코딩 할려면 어떻게 해야하나요??
2009.08.13 20:02:23
WifiManager wManager;
wManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);
WifiInfo wInfo = wManager.getConnectionInfo();
//wInfo.getSSID()
위에 주석처리 해놓은 getSSID 에 대해서 찾아보세요~
특정 AP에서만 동작가능하게 제한 할때 getSSID로 AP 얻어와서 구분지었습니다.
반대로, 현재 사용가능한 ssid 접근해서 연결하는것을 찾을 수 있을거에요~
2010.06.13 10:28:00
ap 에 접속하려면 WifiManager 의 enableNetwork 함수를 이용합니다. API참조
- enableNetwork 함수의 인자로 network id 와 disable other 옵션을 입력하게 됩니다.
network id 를 얻으려면 addNetwork 함수를 이용합니다. API참조
- addNetwork 함수의 인자로 WifiConfiguration 객체를 입력하게 됩니다.
WifiConfiguration 객체에 접속하려는 ap 에 관한 정보를 채우고 addNetwork 함수에 입력합니다. 참조
- addNetwork 함수는 network id 값을 리턴합니다.
- enableNetwork 함수에 addNetwork 함수로 얻은 network id 값과 disable others 옵션값을 입력합니다. (disable others 값이 명확히 무엇을 의미하는지는 모르겠지만 true 를 사용하였습니다)
- enableNetwork 함수를 사용하고 안드로이드폰의 wifi 설정 창으로 이동해서 ap 연결 상태를 확인할 수 있습니다.
이미 한번 접속했던 ap 에 관한 정보는 안드로이드폰에 저장되어 있습니다. (저장하고 있는 개수는 정해져 있을 수도 있습니다)
- 이미 접속했던 ap 의 network id 를 얻으려면 getConfiguredNetworks 함수를 이용합니다. API참조
- getConfiguredNetworks 함수는 WifiConfiguration 객체 리스트를 리턴합니다.
- 접속하려는 ap 의 ssid 를 갖는 WifiConfiguration 의 networkId 값을 enableNetwork 함수에 인자로 넘겨주면 됩니다.