본문 바로가기

소프트웨어/Android/Java/Ndk

Android] Wifi Connection

이번 과제를 진행하면서 애먹은 부분중에 하나인 Wifi 연결 부분이다.

Android에 딱히 래핑된 매서드도 없고 인터넷에 딱히 설명히 잘 된 글도 없어서 힘들었다.

(첨부한 소스에서도 연결 파트의 프로토콜이나 auth등은 참조한 사이트가 있었는데 너무 오래되서 어디서 갖고온지 잊어버렸음..하..)





일단 Wifi Connection은 표준 보안에 따라서 연결방식이 다르다.

WifiConfiguration 객체를 생성해서 표준 보안 방식에 따라서 프로토골이나 Auth등을 설정해줘야 한다. 

그 후 WifiManager에 addNetwork시키는 방식을 이용해서 연결시킨다.

addNetwork의 return ID가 -1인 것을  확인하고 enableNetwork 매서드를 이용해 연결을 시도하면 완료!






라고 간단하게 설명한다고 했는데.. 사실 한번에 이해하기는 복잡한 부분이다.



특히나 내가 첨부한 소스에서는 BroadcastReceiver를 이용해서 지정한 연결 신호에만 맞게 동작을 설정하였다. Receiver부분을 모른다면 이해하기 힘든 코드일 수도 있다.

(%Manifast에 WIFI관련 퍼미션을 꼭 추가해야 동작한다)


WifiConnect_Mantdu.tistory.com.zip


(주의. 올리고보니 리시버 unregister를 안했음. 원래는 onDestroy때 unregisterReceiver를 해줘야 함)