반응형
개요
Android API 29 에서 NetworkInfo 가 deprecated 되어 사용하지 못하게 되었다.
이에 대체할 수 있는 발법에 대해 포스팅 해보자.
네트워크 권한 설정
우선 네트워크 사용 및 연결 상태를 확인하기 위해서는 아래 두 권한이 필요하다.
AndroidManifest.xml 파일에 추가해주자.
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
네트워크 상태 읽기
1. ConnectivityManager 객체를 생성한다.
2. ConnectivityManager 객체를 사용하여 Network 정보를 가져온다.
3. Network 객체를 사용하여 NetworkCapabilities 값을 가져온다.
4. NetworkCapabilities 값을 활용하여 인터넷 연결 상태 여부를 확인한다.
public static boolean getNetwork(Context context) {
boolean enable = false;
ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
Network network = manager.getActiveNetwork();
NetworkCapabilities actNetwork = manager.getNetworkCapabilities(network);
if(actNetwork == null){
return enable;
}
if(actNetwork.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) || actNetwork.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)){
enable = true;
}
return enable;
}
반응형
'IT > Android' 카테고리의 다른 글
구글 플레이 비공개 테스트 12명 가이드 및 후기 (0) | 2024.12.31 |
---|---|
TargetSdkVersion 33 적용에 따른 주의사항 (0) | 2023.08.08 |
Android QUERY_ALL_PACKAGES를 사용하는 앱에 대한 선언 가이드 (0) | 2023.02.24 |
Android 미디에이션 적용 시 데이터 보안 섹션 설정 (0) | 2023.02.17 |
Android ImageView에서 위아래(height) 공백 제거 (1) | 2023.01.25 |
댓글