Notice
Recent Posts
Recent Comments
Link
투케이2K
515. (Android/Java) [android 12 / target 31] [유틸 파일] getWifiScanResult : 와이파이 스캔 목록 확인 (wifi scan) 본문
Android
515. (Android/Java) [android 12 / target 31] [유틸 파일] getWifiScanResult : 와이파이 스캔 목록 확인 (wifi scan)
투케이2K 2023. 3. 11. 23:38[개발 환경 설정]
개발 툴 : AndroidStudio
[소스 코드]
// -----------------------------------------------------------------------------------------
// TODO [SEARCH FAST] : [VOID] getWifiScanResult : 와이파이 스캔 목록 확인
// -----------------------------------------------------------------------------------------
public static void getWifiScanResult(Context mContext) {
/**
* -------------------------------------------
* [getWifiScanResult 메소드 설명]
* -------------------------------------------
* 1. 와이파이 스캔 목록 확인
* -------------------------------------------
* 2. 호출 방식 :
*
* C_App.getWifiScanResult(A_Intro.this);
*
* -------------------------------------------
* 3. 출력 데이터 :
*
* [{BSSID=0a:30:0d:c7:1d:61, SSID=KT WiFi }, {BSSID=0a:30:0d:c7:70:21, SSID=KT WiFi }]
* -------------------------------------------
* 4. 필요 퍼미션 : [사전에 사용자로부터 퍼미션 인증을 모두 받아야 합니다]
*
* Manifest.permission.ACCESS_COARSE_LOCATION,
* Manifest.permission.ACCESS_FINE_LOCATION,
* Manifest.permission.ACCESS_WIFI_STATE,
* Manifest.permission.CHANGE_WIFI_STATE,
* Manifest.permission.ACCESS_NETWORK_STATE
* -------------------------------------------
* */
// [출력 변수 선언]
String LogData = "";
int count = 0;
List<HashMap<String, Object>> list = null;
// [로직 처리 실시]
try {
// [퍼미션 권한 체크 실시]
if (ActivityCompat.checkSelfPermission(mContext, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED
|| ActivityCompat.checkSelfPermission(mContext, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
|| ActivityCompat.checkSelfPermission(mContext, Manifest.permission.ACCESS_WIFI_STATE) != PackageManager.PERMISSION_GRANTED
|| ActivityCompat.checkSelfPermission(mContext, Manifest.permission.CHANGE_WIFI_STATE) != PackageManager.PERMISSION_GRANTED
|| ActivityCompat.checkSelfPermission(mContext, Manifest.permission.ACCESS_NETWORK_STATE) != PackageManager.PERMISSION_GRANTED) {
// [퍼미션이 부여되어있지 않은 경우 종료]
LogData = "Permission not granted";
}
else {
// [리턴 변수에 삽입]
LogData = "Success Permission";
// [와이파이 스캔 결과 확인]
list = new ArrayList<>();
WifiManager wifiManager = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE);
List<ScanResult> scanResultList = wifiManager.getScanResults();
for (ScanResult result : scanResultList) {
HashMap<String, Object> map = new HashMap<>();
map.put("SSID", result.SSID);
map.put("BSSID", result.BSSID);
//map.put("capabilities", result.capabilities);
list.add(map);
}
count = list.size();
}
}
catch (Exception e){
e.printStackTrace();
LogData = e.getMessage();
}
// [로그 출력 실시]
S_Log.ltd("================================================");
S_Log.cnt("["+ACTIVITY_NAME+" >> "+C_Util.getNowMethod(1)+" :: 와이파이 스캔 목록 확인]");
S_Log.cnt("-----------------------------------------");
S_Log.cnt("[LOG :: "+String.valueOf(LogData)+"]");
S_Log.cnt("-----------------------------------------");
S_Log.cnt("[COUNT :: "+String.valueOf(count)+"]");
S_Log.cnt("-----------------------------------------");
S_Log.cnt("[LIST :: "+String.valueOf(list)+"]");
S_Log.lbd("================================================");
}
[결과 출력]
D///===========//: ================================================
I/: [C_App >> getWifiScanResult :: 와이파이 스캔 목록 확인]
I/: -----------------------------------------
I/: [LOG :: Success Permission]
I/: -----------------------------------------
I/: [COUNT :: 2]
I/: -----------------------------------------
I/: [LIST :: [{BSSID=0a:30:0d:c7:1d:61, SSID=KT WiFi }, {BSSID=0a:30:0d:c7:70:21, SSID=KT WiFi }]]
D///===========//: ================================================
반응형
'Android' 카테고리의 다른 글
Comments