본문 바로가기
Study/Android

현재 연결된 AP(WIFI) 정보가져오기

by Answer Choi 2016. 1. 14.
반응형

스마트 플러그류를 개발할때 현재 플러그에 연결되어 있는지, 아니면 일반 AP에 연결되어 있는지


체크를 하여, 2가지의 행동을 할 수 있습니다.


디바이스에 연결이 되어있다면, 디바이스에 SSID와 PWD를 입력해서 STA모드로 바꿔주면 되고,


AP에 연결이 되어 있다면, 디바이스를 제어하는 곳으로 바로 넘어가면 됩니다.


그러기 위해서는 현재 연결된 AP의 이름을 가져와서 무선 AP인지 디바이스 AP인지를 구분해야 합니다.


이전 포스트에서 디바이스의 SSID를 "JME Plug + MAC주소"로 하였으니 


JME Plug라는 이름이 있는지만 확인하면 됩니다.


1
2
3
4
5
6
7
public String getWiFiSSID(Context mContext)
{
    WifiManager manager = (WifiManager)mContext.getSystemService(Context.WIFI_SERVICE);
    WifiInfo wifiInfo = manager.getConnectionInfo();
    String sSSID = wifiInfo.getSSID();
    return sSSID;
}
cs


이 부분이 Wifi의 SSID를 가져오는 부분입니다.


Line 3~4 : WifiManager를 통해 현재 연결된 Wifi의 정보를 가져옵니다.


Line 5 : String으로 현재 연결된 Wifi정보에서 SSID값을 가져옵니다.


1
2
3
4
5
6
7
8
9
10
private void chk_wifi(){
    String current_ssid=getWiFiSSID(getApplication());
    if(!current_ssid.contains("JME Plug")){    //if not connected to Device
        Intent i=new Intent(getApplicationContext(),IndexActivity.class);
        startActivity(i);
    }else{    //if connected to Device
        Intent i=new Intent(getApplicationContext(),MainActivity.class);
        startActivity(i);
    }
}
cs


위 코드에서 가져온 SSID로 다음 행동을 구분해주는 코드입니다.


Line 3~5 : SSID가 디바이스(JME Plug)가 아니라면 제어하는 부분으로 이동합니다.



이런 화면으로 이동하고 가운데 제어를 누르시면 제어화면으로 갈 수 있습니다.



Line 6~9 : SSID가 디바이스라면 무선 AP설정하는 부분으로 이동해야 합니다.



AP를 선택후 패스워드 입력하여 설정버튼을 누르시면 됩니다.






반응형

인기글