[Android] Wifi 다루기

* Android Manifest.xml수정
Wifi를 사용하기 위해서는 아래 두 permission이 추가되어야 함
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

* 현재 supplicant의 정보 얻기
WifiManager wm = (WifiManager)getSystemService(Context.WIFI_SERVICE);
WifiInfo wi = wm.getConnectionInfo();

Log.d("WIFI", "BSSID : " + wi.getBSSID());
Log.d("WIFI", "Hidden SSID : " + wi.getHiddenSSID());
Log.d("WIFI", "IP : " + wi.getIpAddress());
Log.d("WIFI", "LinkSpeed : " + wi.getLinkSpeed());
Log.d("WIFI", "MAC Addr. : " + wi.getMacAddress());
Log.d("WIFI", "Net ID : " + wi.getNetworkId());
Log.d("WIFI", "RSSI : " + wi.getRssi());
Log.d("WIFI", "SSID : " + wi.getSSID());
Log.d("WIFI", "Supplicant State : " + wi.getSupplicantState());
Log.d("WIFI", "Detailed State : " + WifiInfo.getDetailedStateOf(wi.getSupplicantState()));
Log.d("WIFI", "String : " + wi.toString());
Log.d("WIFI", "Ping Result : " + wm.pingSupplicant());

// Wifi가 연결되었는지 상태 체크
DetailedState ni_ds = WifiInfo.getDetailedStateOf(wi.getSupplicantState());

if ((wi.getIpAddress()!= 0)
       && (ni_ds == DetailedState.CONNECTED || ni_ds == DetailedState.OBTAINING_IPADDR)){
         // Wifi AP에 연결된 상태
}


출처:Wifi 다루기
http://icess.egloos.com/3339065