Notice
Recent Posts
Recent Comments
Link
투케이2K
414. (android/java) [android 12 / target 31] ConnectivityManager Network 네트워크 연결 상태 체크 실시 - 타겟 31 대응 본문
Android
414. (android/java) [android 12 / target 31] ConnectivityManager Network 네트워크 연결 상태 체크 실시 - 타겟 31 대응
투케이2K 2022. 11. 24. 17:22[개발 환경 설정]
개발 툴 : AndroidStudio
[AndroidManifest.xml : 소스 코드]
<!-- 네트워크 연결 상태 체크 : 퍼미션 설정 선언 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-feature android:name="android.hardware.location.network"/>
[Java : 소스 코드]
// TODO [현재 연결된 네트워크 상태 확인 메소드]
public static Boolean getWhatOfNetwork(Context mContext) {
/**
* // -----------------------------------------
* [getWhatOfNetwork 메소드 설명]
* // -----------------------------------------
* 1. 현재 사용자 모바일 디바이스 기기 네트워크 연결 상태 체크
* // -----------------------------------------
* 2. 사전 퍼미션 설정 : <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
* // -----------------------------------------
* 3. 호출 방법 : if (C_StateCheck.getWhatOfNetwork(A_Main.this) == true) { } else { }
* // -----------------------------------------
* */
try {
ConnectivityManager cm = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
if (activeNetwork != null) {
if (activeNetwork.getType() == ConnectivityManager.TYPE_WIFI) {
Log.i("---", "---");
Log.d("//===========//", "================================================");
Log.i("", "\n" + "[C_StateCheck >> getWhatOfNetwork() :: 현재 사용중인 네트워크 상태 확인 실시]");
Log.i("", "\n" + "[" + "연결 상태 :: " + String.valueOf("와이파이") + "]");
Log.d("//===========//", "================================================");
Log.i("---", "---");
return true;
} else if (activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE) {
Log.i("---", "---");
Log.d("//===========//", "================================================");
Log.i("", "\n" + "[C_StateCheck >> getWhatOfNetwork() :: 현재 사용중인 네트워크 상태 확인 실시]");
Log.i("", "\n" + "[" + "연결 상태 :: " + String.valueOf("모바일") + "]");
Log.d("//===========//", "================================================");
Log.i("---", "---");
return true;
} else {
Log.i("---", "---");
Log.d("//===========//", "================================================");
Log.i("", "\n" + "[C_StateCheck >> getWhatOfNetwork() :: 현재 사용중인 네트워크 상태 확인 실시]");
Log.i("", "\n" + "[" + "연결 상태 :: " + String.valueOf("없음") + "]");
Log.d("//===========//", "================================================");
Log.i("---", "---");
return false;
}
} else {
Log.i("---", "---");
Log.e("//===========//", "================================================");
Log.i("", "\n" + "[C_StateCheck >> getWhatOfNetwork() :: 현재 사용중인 네트워크 상태 확인 에러]");
Log.i("", "\n" + "[" + "error [에러] :: " + "NetworkInfo == null" + "]");
Log.i("", "\n" + "[" + "로 직 :: " + "return true 통과 로직 허용" + "]");
Log.e("//===========//", "================================================");
Log.i("---", "---");
return true;
}
} catch (Exception e) {
//e.printStackTrace();
Log.i("---", "---");
Log.e("//===========//", "================================================");
Log.i("", "\n" + "[C_StateCheck >> getWhatOfNetwork() :: 현재 사용중인 네트워크 상태 확인 실시]");
Log.i("", "\n" + "[" + "catch [에러] :: " + String.valueOf(e.getMessage()) + "]");
Log.i("", "\n" + "[" + "로 직 :: " + "return true 통과 로직 허용" + "]");
Log.e("//===========//", "================================================");
Log.i("---", "---");
return true;
}
}
[결과 출력]
반응형
'Android' 카테고리의 다른 글
Comments