투케이2K

148. (AndroidStudio/android/java) 현재 연결된 네트워크 상태 확인 실시 - targetSdkVersion 30 대응 , NetworkInfo 본문

Android

148. (AndroidStudio/android/java) 현재 연결된 네트워크 상태 확인 실시 - targetSdkVersion 30 대응 , NetworkInfo

투케이2K 2021. 5. 17. 18:05

/* =========================== */

[ 개발 환경 설정 ]

개발 툴 : AndroidStudio

개발 언어 : java

/* =========================== */

/* =========================== */

[소스 코드]

 

/** ======= [현재 연결된 네트워크 상태 확인 메소드 사용 실시] ======= **/
String networkState = String.valueOf(getWhatOfNetwork());
if(networkState.equals(WIFI_STATE)){
	Toast.makeText(getApplicationContext(), "와이파이", Toast.LENGTH_LONG).show();
}
else if(networkState.equals(MOBILE_STATE)){
	Toast.makeText(getApplicationContext(), "모바일", Toast.LENGTH_LONG).show();
}
else {
	//TODO [Alert 팝업창 알림 실시]
	getAlertDialog("[알림]",
		"현재 연결된 네트워크를 다시 확인해주세요 ...",
		"확인", "취소", "");
}










/** ======= [현재 연결된 네트워크 상태 확인 메소드] ======= **/
    //TODO [필요 변수 및 퍼미션]
    public static final String WIFI_STATE = "WIFE";
    public static final String MOBILE_STATE = "MOBILE";
    public static final String NONE_STATE = "NONE";
    /** <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> **/ 

    public String getWhatOfNetwork(){
        try {
            ConnectivityManager cm = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
            if (activeNetwork != null) {
                if (activeNetwork.getType() == ConnectivityManager.TYPE_WIFI) {
                    Log.d("---","---");
                    Log.w("//===========//","================================================");
                    Log.d("","\n"+"[A_Network > getWhatOfNetwork() 메소드 : 현재 사용중인 네트워크 상태 확인 실시]");
                    Log.d("","\n"+"["+"연결 상태 : "+String.valueOf("와이파이")+"]");
                    Log.w("//===========//","================================================");
                    Log.d("---","---");
                    return WIFI_STATE;
                }
                else if (activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE) {
                    Log.d("---","---");
                    Log.w("//===========//","================================================");
                    Log.d("","\n"+"[A_Network > getWhatOfNetwork() 메소드 : 현재 사용중인 네트워크 상태 확인 실시]");
                    Log.d("","\n"+"["+"연결 상태 : "+String.valueOf("모바일")+"]");
                    Log.w("//===========//","================================================");
                    Log.d("---","---");
                    return MOBILE_STATE;
                }
            }
        }
        catch (Exception e){
            e.printStackTrace();
        }
        Log.d("---","---");
        Log.e("//===========//","================================================");
        Log.d("","\n"+"[A_Network > getWhatOfNetwork() 메소드 : 현재 사용중인 네트워크 상태 확인 실시]");
        Log.d("","\n"+"["+"연결 상태 : "+String.valueOf("없음")+"]");
        Log.e("//===========//","================================================");
        Log.d("---","---");
        return NONE_STATE;
    }










/** ======= [AlertDialog 팝업창 호출 메소드 정의 실시] ======= **/
public void getAlertDialog(String header, String content, String ok, String no, String normal){
	//TODO 타이틀 및 내용 표시
	final String Tittle = header;
	final String Message = content;

	//TODO 버튼 이름 정의
	String buttonNo = no;
	String buttonYes = ok;
	String buttonNature = normal;

	//TODO AlertDialog 팝업창 생성
	new AlertDialog.Builder(A_Volley.this)
		.setTitle(Tittle) //[팝업창 타이틀 지정]
		//.setIcon(R.drawable.tk_app_icon) //[팝업창 아이콘 지정]
		.setMessage(Message) //[팝업창 내용 지정]
		.setCancelable(false) //[외부 레이아웃 클릭시도 팝업창이 사라지지않게 설정]
		.setPositiveButton(buttonYes, new DialogInterface.OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
				// TODO Auto-generated method stub
			}
		})
		.setNegativeButton(buttonNo, new DialogInterface.OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
				// TODO Auto-generated method stub
			}
		})
		.setNeutralButton(buttonNature, new DialogInterface.OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
				// TODO Auto-generated method stub
			}
		})
		.show();
}

/* =========================== */

반응형
Comments