반응형
공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
|
이번 포스팅에서는 주변 wifi 를 검색하는 방법에 대해 알아보겠습니다.
가장 먼저 Wifi 검색을 위해 퍼미션을 하나 추가해주어야 합니다.
1 2 | <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> | cs |
먼저 전역 변수로
1 2 3 | WifiManager manager; private List<ScanResult> scanResults; // ScanResult List | cs |
위처럼 선언해주시구요.
onCreate() 부분에 아래처럼 선언해줍니다.
1 2 3 4 5 6 7 8 9 10 | @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); manager = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE); if(!manager.isWifiEnabled()){ manager.setWifiEnabled(true); // wifi 가 켜져있지 않을 경우 자동으로 wifi를 켜줍니다. } } | cs |
그 다음 Receiver 를 등록해줍니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | private BroadcastReceiver receiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { final String action = intent.getAction(); if(action.equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)) { scanResults= manager.getScanResults(); for(int i = 0; i < scanResults.size(); i++) { Log.d("ssid[" + i + "]", scanResults.get(i).SSID); // 주변 와이파이 SSID를 반복문을 이용해 로그를 찍어보았습니다. } }else if(action.equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) { sendBroadcast(new Intent("wifi.ON_NETWORK_STATE_CHANGED")); } } }; | cs |
그 다음으로 검색을 원하는 타이밍에 아래 코드를 호출해주면 됩니다.
1 2 3 4 5 6 | IntentFilter intentFilter = new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION); intentFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION); registerReceiver(receiver, intentFilter); manager.startScan(); | cs |
마지막으로 액티비티를 나갔을 때 Receiver 를 종료해주면 됩니다.
1 2 3 4 5 6 7 | @Override protected void onPause() { super.onPause(); unregisterReceiver(receiver); } | cs |
크게 어렵지 않죠??
이상입니다.
반응형
'안드로이드' 카테고리의 다른 글
안드로이드 OnTouchListener로 LongClick 시간 조절하기 (0) | 2017.10.11 |
---|---|
안드로이드 strings.xml 에서 underline, bold, text 색상 변경하는 방법 (0) | 2017.10.10 |
안드로이드 LinearLayout, FrameLayout, RelativeLayout 등에 LayoutParams를 이용해 동적으로 크기 지정하는 방법 (0) | 2017.09.19 |
안드로이드 MediaPlayer 로 mp3 파일 재생하기 음악 재생하기 (0) | 2017.09.19 |
안드로이드 bitmap convert to String, String convert to bitmap 비트맵을 문자열로 변환하는 방법 (1) | 2017.09.15 |