Notice
Recent Posts
Recent Comments
Link
투케이2K
35. (AndroidStudio/android/java) 현재 사용자 모바일에 연결된 네트워크 상태 확인 - ConnectivityManager, NetworkInfo 사용 본문
Android
35. (AndroidStudio/android/java) 현재 사용자 모바일에 연결된 네트워크 상태 확인 - ConnectivityManager, NetworkInfo 사용
투케이2K 2021. 1. 28. 12:05/* =========================== */
[ 개발 환경 설정 ]
개발 툴 : AndroidStudio
개발 언어 : java
/* =========================== */
/* =========================== */
[소스 코드]
//================== [AndroidManifest.xml 네트워크 연결 상태 확인 퍼미션] ==================
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
//================== [네트워크 상태 확인 위한 전역 변수 선언 실시] ==================
public static final String WIFI_STATE = "WIFE";
public static final String MOBILE_STATE = "MOBILE";
public static final String NONE_STATE = "NONE";
//================== [현재 연결된 네트워크 상태 확인 메소드 호출] ==================
String networkState = getNetworkConnectState(); //TODO 네트워크 연결 상태 확인 메소드 호출
if(networkState.equals(WIFI_STATE)){
Log.d("---","---");
Log.w("//===========//","================================================");
Log.d("","\n"+"[현재 연결된 네트워크 : "+String.valueOf("와이파이")+"]");
Log.w("//===========//","================================================");
Log.d("---","---");
}
else if(networkState.equals(MOBILE_STATE)){
Log.d("---","---");
Log.w("//===========//","================================================");
Log.d("","\n"+"[현재 연결된 네트워크 : "+String.valueOf("모바일")+"]");
Log.w("//===========//","================================================");
Log.d("---","---");
}
else{
Log.d("---","---");
Log.e("//===========//","================================================");
Log.d("","\n"+"[현재 연결된 네트워크 : "+String.valueOf("없음")+"]");
Log.e("//===========//","================================================");
Log.d("---","---");
}
//================== [현재 연결된 네트워크 상태 확인 메소드] ==================
public String getNetworkConnectState(){
try {
Log.d("---","---");
Log.d("//===========//","================================================");
Log.d("","\n"+"[A_Network > getNetworkConnectState() 메소드 : 현재 사용 중인 네트워크 상태 확인 실시]");
Log.d("//===========//","================================================");
Log.d("---","---");
/**
* [확인 방법]
* 1. 네트워크 상태 권한을 획득 실시 - AndroidManifest.xml : <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
* 2. ConnectivityManager 객체를 사용해 현재 연결된 네트워크 상태 확인 실시
*/
ConnectivityManager cm = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
if (activeNetwork != null) {
if (activeNetwork.getType() == ConnectivityManager.TYPE_WIFI) {
return WIFI_STATE;
}
else if (activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE) {
return MOBILE_STATE;
}
}
}
catch (Exception e){
e.printStackTrace();
}
return NONE_STATE;
}
/* =========================== */
/* =========================== */
[결과 출력]
/* =========================== */
/* =========================== */
[요약 설명]
* 1. 네트워크 상태 권한을 획득 실시 - AndroidManifest.xml : <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
* 2. ConnectivityManager 객체를 사용해 현재 연결된 네트워크 상태 확인 실시
/* =========================== */
반응형
'Android' 카테고리의 다른 글
Comments