Notice
Recent Posts
Recent Comments
Link
투케이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();
}
/* =========================== */
반응형
'Android' 카테고리의 다른 글
Comments