와이파이 설정과 함께 WIFI를 내가 원하는 네트워크에 자동연결 하기 위한 코드입니다.




1. 와이파이가 활성화 되있는 지 확인


 ConnectivityManager manager;


WifiManager wifiManager=(WifiManager)getSystemService(WIFI_SERVICE); //활성화 한지 와이파이 체크 하기 위함


    manager = (ConnectivityManager) getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE); //와이파이 연결 체크

//NetworkInfo mobile = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
NetworkInfo wifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);//와이파이 연결 체크
// wifi 또는 모바일 네트워크 어느 하나라도 연결이 되어있다면,
if (wifi.isConnected()) {
Log.i("연결됨" , "와이파이 연결되어있음"); //와이파이 연결 되있을 때 구분 구문


} else {
Toast.makeText(getApplicationContext(),"WIFI 활성화 시 이용하실 수 있습니다.", Toast.LENGTH_LONG).show();



/////////활성화 되지 않았다면 활성화 코드 추가

wifiManager.setWifiEnabled(true); //와이파이 활성화


}






2. 와이파이 설정 intent로 이동


Intent intentConfirm = new Intent();


intentConfirm.setAction("android.settings.WIFI_SETTINGS");


startActivity(intentConfirm);




3. 원하는 네트워크로 자동 연결


// SSID 와 PW를 입력해줌

//보안 방식에 따라 조건설정을 주어 연결 방법을 다르게 주는 방법을 찾아보셔도 됩니다.

ex) securityMode.equalsIgnoreCase("OPEN") -> open 형식

    securityMode.equalsIgnoreCase("WEP") -> wep 형식


와이파이 스캔 결과 띄워주기 위해 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

와이파이 연결 변경을 위한 <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />



    WifiConfiguration wifiConfig = new WifiConfiguration(); // 와이파이 연결하기

wifiConfig.SSID = String.format("\"%s\"", "MyR");
wifiConfig.preSharedKey = String.format("\"%s\"", "1234567890");

WifiManager wifiManager = (WifiManager)getSystemService(WIFI_SERVICE);
int netId = wifiManager.addNetwork(wifiConfig);

wifiManager.disconnect();

wifiManager.enableNetwork(netId, true);

wifiManager.reconnect();



+ Recent posts