반응형
먼저 Android 6.0이상부터는 WiFi및 위치정보 관련해서 작업을 수행할때
권한을 요청해야 합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | void permission(){ if(ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.ACCESS_COARSE_LOCATION)) { ActivityCompat.requestPermissions( this, new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, REQUEST_CODE_LOCATION); } else { ActivityCompat.requestPermissions( this, new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, REQUEST_CODE_LOCATION); } } } | cs |
앱이 처음 실행되는 부분에 꼭 윗부분을 넣어주셔야 합니다.
1 2 3 4 5 6 7 8 9 10 11 | void connect(){ WifiConfiguration wificonfig=new WifiConfiguration(); wificonfig.SSID = String.format("\"%s\"", WIFI_NAME); wificonfig.preSharedKey = String.format("\"%s\"", WIFI_PASSWORD); WifiManager wifiManager=(WifiManager)getApplicationContext().getSystemService(WIFI_SERVICE); int netId = wifiManager.addNetwork(wificonfig); wifiManager.disconnect(); wifiManager.enableNetwork(netId, true); wifiManager.reconnect(); } | cs |
위 코드가 WIFI에 접속하는 코드입니다.
특히 Line 6과 Line8은 WIFI의 접속을 끊는 코드입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | void discon_enerview(){ String ssid = null; ConnectivityManager connManager = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (networkInfo.isConnected()) { final WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE); final WifiInfo connectionInfo = wifiManager.getConnectionInfo(); if (connectionInfo != null && !TextUtils.isEmpty(connectionInfo.getSSID())) { ssid = connectionInfo.getSSID(); } } if(ssid.contains("EnerView")){ WifiManager wifi = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE); wifi.disconnect(); } } | cs |
Line 1~11 : 현재 접속된 WIFI 이름(SSID)를 가져오는 코드입니다.
Line 12~15 : 특정 WiFi(EnerView가 들어가는 SSID)일 경우 접속을 끊는 코드입니다.
반응형
'Study > Android' 카테고리의 다른 글
Android에서 image BLOB MySQL에 저장하기 (55) | 2017.07.26 |
---|---|
android logcat 메세지 제한 (0) | 2017.07.26 |
kitkat 이하버전 웹뷰에서 한글 인코딩 깨질때 (0) | 2016.09.22 |
Google Play change to Android ACCESS_FINE_LOCATION permissions (0) | 2016.09.21 |
static method 안에서 LayoutInflater 사용하기 (0) | 2016.08.12 |