디바이스가 인터넷에 연결되있는지 체크하는 법
조회수 3733회
디바이스가 인터넷에 연결되있는지 확인하고 싶은데요.
NetworkInfo
클래스에 isAvailable()
이라는 메소드가 있는데 이거 쓰면 될것 같은데요..
NetworkInfo ni = new NetworkInfo();
if (!ni.isAvailable()) {
// do something
}
The constructor NetworkInfo is not visible.
이런 에러가 나더라고요. NetworkInfo를 얻어올 수 있는 다른 방법이 있을까요?
- 위의 방법으로 잘 동작하는 코드
- 제가 혼자서 보고 참고할만한 사이트
- 다른 좋은 방법
이 있으면 알려주시면 감사하겠습니다.
1 답변
-
ConnectivityManager
의getActiveNetworkInfo()
를 쓰면 인터넷이 연결되있으면NetworkInfo
인스턴스를 리턴하거나 null을 리턴합니다.이 리턴 값으로 인터넷이 연결되있는지 확인 할 수가 있죠.
private boolean isNetworkAvailable() { ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); return activeNetworkInfo != null && activeNetworkInfo.isConnected(); }
소스를 참고하세요
아! 그리고
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
안드로이드 매니페스트 파일로 가서 위 코드를 꼭 삽입해야해요.
댓글 입력